./Ultimate.py --spec ../sv-benchmarks/c/properties/valid-memsafety.prp --file ../sv-benchmarks/c/list-ext3-properties/dll_nondet_free_order-2.i --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for memory safety (deref-memtrack) Using default analysis Version 5fbdf5bf 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-ext3-properties/dll_nondet_free_order-2.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 760c75961baa7cc196b373809e9a87dd0bcf8eb7 ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis 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-ext3-properties/dll_nondet_free_order-2.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 760c75961baa7cc196b373809e9a87dd0bcf8eb7 ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ Execution finished normally Writing output log to file Ultimate.log Result: UNKNOWN --- Real Ultimate output --- This is Ultimate 0.2.1-wip.dd.seqcomp-5fbdf5b [2021-09-13 23:55:09,996 INFO L177 SettingsManager]: Resetting all preferences to default values... [2021-09-13 23:55:09,998 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2021-09-13 23:55:10,017 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2021-09-13 23:55:10,017 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2021-09-13 23:55:10,018 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2021-09-13 23:55:10,019 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2021-09-13 23:55:10,021 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2021-09-13 23:55:10,022 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2021-09-13 23:55:10,023 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2021-09-13 23:55:10,023 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2021-09-13 23:55:10,024 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2021-09-13 23:55:10,025 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2021-09-13 23:55:10,025 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2021-09-13 23:55:10,026 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2021-09-13 23:55:10,027 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2021-09-13 23:55:10,028 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2021-09-13 23:55:10,029 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2021-09-13 23:55:10,030 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2021-09-13 23:55:10,031 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2021-09-13 23:55:10,032 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2021-09-13 23:55:10,033 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2021-09-13 23:55:10,034 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2021-09-13 23:55:10,035 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2021-09-13 23:55:10,037 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2021-09-13 23:55:10,037 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2021-09-13 23:55:10,037 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2021-09-13 23:55:10,038 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2021-09-13 23:55:10,038 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2021-09-13 23:55:10,039 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2021-09-13 23:55:10,039 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2021-09-13 23:55:10,040 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2021-09-13 23:55:10,040 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2021-09-13 23:55:10,041 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2021-09-13 23:55:10,042 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2021-09-13 23:55:10,042 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2021-09-13 23:55:10,042 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2021-09-13 23:55:10,043 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2021-09-13 23:55:10,043 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2021-09-13 23:55:10,043 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2021-09-13 23:55:10,044 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2021-09-13 23:55:10,045 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Default.epf [2021-09-13 23:55:10,059 INFO L113 SettingsManager]: Loading preferences was successful [2021-09-13 23:55:10,060 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2021-09-13 23:55:10,060 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2021-09-13 23:55:10,060 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2021-09-13 23:55:10,061 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2021-09-13 23:55:10,061 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2021-09-13 23:55:10,061 INFO L138 SettingsManager]: * Use SBE=true [2021-09-13 23:55:10,062 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2021-09-13 23:55:10,062 INFO L138 SettingsManager]: * sizeof long=4 [2021-09-13 23:55:10,062 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2021-09-13 23:55:10,062 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2021-09-13 23:55:10,062 INFO L138 SettingsManager]: * sizeof POINTER=4 [2021-09-13 23:55:10,062 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2021-09-13 23:55:10,062 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2021-09-13 23:55:10,063 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2021-09-13 23:55:10,063 INFO L138 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2021-09-13 23:55:10,063 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2021-09-13 23:55:10,063 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2021-09-13 23:55:10,063 INFO L138 SettingsManager]: * sizeof long double=12 [2021-09-13 23:55:10,063 INFO L138 SettingsManager]: * Use constant arrays=true [2021-09-13 23:55:10,064 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2021-09-13 23:55:10,064 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2021-09-13 23:55:10,064 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2021-09-13 23:55:10,064 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2021-09-13 23:55:10,064 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2021-09-13 23:55:10,065 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2021-09-13 23:55:10,065 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2021-09-13 23:55:10,065 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2021-09-13 23:55:10,065 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2021-09-13 23:55:10,065 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 -> 760c75961baa7cc196b373809e9a87dd0bcf8eb7 [2021-09-13 23:55:10,420 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2021-09-13 23:55:10,433 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2021-09-13 23:55:10,435 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2021-09-13 23:55:10,436 INFO L271 PluginConnector]: Initializing CDTParser... [2021-09-13 23:55:10,436 INFO L275 PluginConnector]: CDTParser initialized [2021-09-13 23:55:10,437 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/list-ext3-properties/dll_nondet_free_order-2.i [2021-09-13 23:55:10,478 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/10d759f87/eb55e1960a244895b883ed73cf961621/FLAG31ae70b6f [2021-09-13 23:55:10,952 INFO L306 CDTParser]: Found 1 translation units. [2021-09-13 23:55:10,952 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/list-ext3-properties/dll_nondet_free_order-2.i [2021-09-13 23:55:10,967 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/10d759f87/eb55e1960a244895b883ed73cf961621/FLAG31ae70b6f [2021-09-13 23:55:10,982 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/10d759f87/eb55e1960a244895b883ed73cf961621 [2021-09-13 23:55:10,984 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2021-09-13 23:55:10,987 INFO L131 ToolchainWalker]: Walking toolchain with 5 elements. [2021-09-13 23:55:10,987 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2021-09-13 23:55:10,988 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2021-09-13 23:55:10,990 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2021-09-13 23:55:10,991 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 13.09 11:55:10" (1/1) ... [2021-09-13 23:55:10,991 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3bc91c9f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 11:55:10, skipping insertion in model container [2021-09-13 23:55:10,992 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 13.09 11:55:10" (1/1) ... [2021-09-13 23:55:10,996 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2021-09-13 23:55:11,026 INFO L178 MainTranslator]: Built tables and reachable declarations [2021-09-13 23:55:11,258 INFO L206 PostProcessor]: Analyzing one entry point: main [2021-09-13 23:55:11,264 INFO L203 MainTranslator]: Completed pre-run [2021-09-13 23:55:11,308 INFO L206 PostProcessor]: Analyzing one entry point: main [2021-09-13 23:55:11,329 INFO L208 MainTranslator]: Completed translation [2021-09-13 23:55:11,329 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 11:55:11 WrapperNode [2021-09-13 23:55:11,329 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2021-09-13 23:55:11,330 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2021-09-13 23:55:11,330 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2021-09-13 23:55:11,330 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2021-09-13 23:55:11,337 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 11:55:11" (1/1) ... [2021-09-13 23:55:11,338 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 11:55:11" (1/1) ... [2021-09-13 23:55:11,362 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 11:55:11" (1/1) ... [2021-09-13 23:55:11,363 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 11:55:11" (1/1) ... [2021-09-13 23:55:11,392 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 11:55:11" (1/1) ... [2021-09-13 23:55:11,397 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 11:55:11" (1/1) ... [2021-09-13 23:55:11,402 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 11:55:11" (1/1) ... [2021-09-13 23:55:11,408 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2021-09-13 23:55:11,411 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2021-09-13 23:55:11,413 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2021-09-13 23:55:11,414 INFO L275 PluginConnector]: RCFGBuilder initialized [2021-09-13 23:55:11,414 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 11:55:11" (1/1) ... [2021-09-13 23:55:11,419 INFO L170 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2021-09-13 23:55:11,425 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-09-13 23:55:11,433 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) [2021-09-13 23:55:11,451 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 [2021-09-13 23:55:11,461 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2021-09-13 23:55:11,461 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2021-09-13 23:55:11,461 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_32 [2021-09-13 23:55:11,461 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_64 [2021-09-13 23:55:11,462 INFO L138 BoogieDeclarations]: Found implementation of procedure myexit [2021-09-13 23:55:11,462 INFO L138 BoogieDeclarations]: Found implementation of procedure dll_circular_create [2021-09-13 23:55:11,462 INFO L138 BoogieDeclarations]: Found implementation of procedure _destroy_in_nondeterministic_order [2021-09-13 23:55:11,462 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2021-09-13 23:55:11,463 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2021-09-13 23:55:11,463 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_32 [2021-09-13 23:55:11,463 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_64 [2021-09-13 23:55:11,463 INFO L130 BoogieDeclarations]: Found specification of procedure __ctype_get_mb_cur_max [2021-09-13 23:55:11,464 INFO L130 BoogieDeclarations]: Found specification of procedure atof [2021-09-13 23:55:11,464 INFO L130 BoogieDeclarations]: Found specification of procedure atoi [2021-09-13 23:55:11,464 INFO L130 BoogieDeclarations]: Found specification of procedure atol [2021-09-13 23:55:11,464 INFO L130 BoogieDeclarations]: Found specification of procedure atoll [2021-09-13 23:55:11,464 INFO L130 BoogieDeclarations]: Found specification of procedure strtod [2021-09-13 23:55:11,465 INFO L130 BoogieDeclarations]: Found specification of procedure strtof [2021-09-13 23:55:11,465 INFO L130 BoogieDeclarations]: Found specification of procedure strtold [2021-09-13 23:55:11,465 INFO L130 BoogieDeclarations]: Found specification of procedure strtol [2021-09-13 23:55:11,465 INFO L130 BoogieDeclarations]: Found specification of procedure strtoul [2021-09-13 23:55:11,465 INFO L130 BoogieDeclarations]: Found specification of procedure strtoq [2021-09-13 23:55:11,466 INFO L130 BoogieDeclarations]: Found specification of procedure strtouq [2021-09-13 23:55:11,466 INFO L130 BoogieDeclarations]: Found specification of procedure strtoll [2021-09-13 23:55:11,468 INFO L130 BoogieDeclarations]: Found specification of procedure strtoull [2021-09-13 23:55:11,468 INFO L130 BoogieDeclarations]: Found specification of procedure l64a [2021-09-13 23:55:11,469 INFO L130 BoogieDeclarations]: Found specification of procedure a64l [2021-09-13 23:55:11,469 INFO L130 BoogieDeclarations]: Found specification of procedure select [2021-09-13 23:55:11,469 INFO L130 BoogieDeclarations]: Found specification of procedure pselect [2021-09-13 23:55:11,469 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_major [2021-09-13 23:55:11,469 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_minor [2021-09-13 23:55:11,469 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_makedev [2021-09-13 23:55:11,470 INFO L130 BoogieDeclarations]: Found specification of procedure random [2021-09-13 23:55:11,470 INFO L130 BoogieDeclarations]: Found specification of procedure srandom [2021-09-13 23:55:11,470 INFO L130 BoogieDeclarations]: Found specification of procedure initstate [2021-09-13 23:55:11,470 INFO L130 BoogieDeclarations]: Found specification of procedure setstate [2021-09-13 23:55:11,470 INFO L130 BoogieDeclarations]: Found specification of procedure random_r [2021-09-13 23:55:11,471 INFO L130 BoogieDeclarations]: Found specification of procedure srandom_r [2021-09-13 23:55:11,471 INFO L130 BoogieDeclarations]: Found specification of procedure initstate_r [2021-09-13 23:55:11,471 INFO L130 BoogieDeclarations]: Found specification of procedure setstate_r [2021-09-13 23:55:11,471 INFO L130 BoogieDeclarations]: Found specification of procedure rand [2021-09-13 23:55:11,487 INFO L130 BoogieDeclarations]: Found specification of procedure srand [2021-09-13 23:55:11,487 INFO L130 BoogieDeclarations]: Found specification of procedure rand_r [2021-09-13 23:55:11,487 INFO L130 BoogieDeclarations]: Found specification of procedure drand48 [2021-09-13 23:55:11,487 INFO L130 BoogieDeclarations]: Found specification of procedure erand48 [2021-09-13 23:55:11,487 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48 [2021-09-13 23:55:11,487 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48 [2021-09-13 23:55:11,487 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48 [2021-09-13 23:55:11,488 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48 [2021-09-13 23:55:11,488 INFO L130 BoogieDeclarations]: Found specification of procedure srand48 [2021-09-13 23:55:11,488 INFO L130 BoogieDeclarations]: Found specification of procedure seed48 [2021-09-13 23:55:11,488 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48 [2021-09-13 23:55:11,489 INFO L130 BoogieDeclarations]: Found specification of procedure drand48_r [2021-09-13 23:55:11,489 INFO L130 BoogieDeclarations]: Found specification of procedure erand48_r [2021-09-13 23:55:11,489 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48_r [2021-09-13 23:55:11,489 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48_r [2021-09-13 23:55:11,489 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48_r [2021-09-13 23:55:11,490 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48_r [2021-09-13 23:55:11,490 INFO L130 BoogieDeclarations]: Found specification of procedure srand48_r [2021-09-13 23:55:11,490 INFO L130 BoogieDeclarations]: Found specification of procedure seed48_r [2021-09-13 23:55:11,490 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48_r [2021-09-13 23:55:11,490 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2021-09-13 23:55:11,490 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2021-09-13 23:55:11,490 INFO L130 BoogieDeclarations]: Found specification of procedure realloc [2021-09-13 23:55:11,491 INFO L130 BoogieDeclarations]: Found specification of procedure free [2021-09-13 23:55:11,491 INFO L130 BoogieDeclarations]: Found specification of procedure cfree [2021-09-13 23:55:11,491 INFO L130 BoogieDeclarations]: Found specification of procedure alloca [2021-09-13 23:55:11,491 INFO L130 BoogieDeclarations]: Found specification of procedure valloc [2021-09-13 23:55:11,492 INFO L130 BoogieDeclarations]: Found specification of procedure posix_memalign [2021-09-13 23:55:11,492 INFO L130 BoogieDeclarations]: Found specification of procedure aligned_alloc [2021-09-13 23:55:11,496 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2021-09-13 23:55:11,496 INFO L130 BoogieDeclarations]: Found specification of procedure atexit [2021-09-13 23:55:11,496 INFO L130 BoogieDeclarations]: Found specification of procedure at_quick_exit [2021-09-13 23:55:11,496 INFO L130 BoogieDeclarations]: Found specification of procedure on_exit [2021-09-13 23:55:11,496 INFO L130 BoogieDeclarations]: Found specification of procedure exit [2021-09-13 23:55:11,496 INFO L130 BoogieDeclarations]: Found specification of procedure quick_exit [2021-09-13 23:55:11,496 INFO L130 BoogieDeclarations]: Found specification of procedure _Exit [2021-09-13 23:55:11,497 INFO L130 BoogieDeclarations]: Found specification of procedure getenv [2021-09-13 23:55:11,497 INFO L130 BoogieDeclarations]: Found specification of procedure putenv [2021-09-13 23:55:11,497 INFO L130 BoogieDeclarations]: Found specification of procedure setenv [2021-09-13 23:55:11,497 INFO L130 BoogieDeclarations]: Found specification of procedure unsetenv [2021-09-13 23:55:11,497 INFO L130 BoogieDeclarations]: Found specification of procedure clearenv [2021-09-13 23:55:11,497 INFO L130 BoogieDeclarations]: Found specification of procedure mktemp [2021-09-13 23:55:11,498 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemp [2021-09-13 23:55:11,498 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemps [2021-09-13 23:55:11,498 INFO L130 BoogieDeclarations]: Found specification of procedure mkdtemp [2021-09-13 23:55:11,498 INFO L130 BoogieDeclarations]: Found specification of procedure system [2021-09-13 23:55:11,499 INFO L130 BoogieDeclarations]: Found specification of procedure realpath [2021-09-13 23:55:11,499 INFO L130 BoogieDeclarations]: Found specification of procedure bsearch [2021-09-13 23:55:11,499 INFO L130 BoogieDeclarations]: Found specification of procedure qsort [2021-09-13 23:55:11,499 INFO L130 BoogieDeclarations]: Found specification of procedure abs [2021-09-13 23:55:11,500 INFO L130 BoogieDeclarations]: Found specification of procedure labs [2021-09-13 23:55:11,500 INFO L130 BoogieDeclarations]: Found specification of procedure llabs [2021-09-13 23:55:11,500 INFO L130 BoogieDeclarations]: Found specification of procedure div [2021-09-13 23:55:11,500 INFO L130 BoogieDeclarations]: Found specification of procedure ldiv [2021-09-13 23:55:11,500 INFO L130 BoogieDeclarations]: Found specification of procedure lldiv [2021-09-13 23:55:11,500 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt [2021-09-13 23:55:11,500 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt [2021-09-13 23:55:11,500 INFO L130 BoogieDeclarations]: Found specification of procedure gcvt [2021-09-13 23:55:11,500 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt [2021-09-13 23:55:11,501 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt [2021-09-13 23:55:11,501 INFO L130 BoogieDeclarations]: Found specification of procedure qgcvt [2021-09-13 23:55:11,501 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt_r [2021-09-13 23:55:11,501 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt_r [2021-09-13 23:55:11,501 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt_r [2021-09-13 23:55:11,501 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt_r [2021-09-13 23:55:11,501 INFO L130 BoogieDeclarations]: Found specification of procedure mblen [2021-09-13 23:55:11,502 INFO L130 BoogieDeclarations]: Found specification of procedure mbtowc [2021-09-13 23:55:11,502 INFO L130 BoogieDeclarations]: Found specification of procedure wctomb [2021-09-13 23:55:11,502 INFO L130 BoogieDeclarations]: Found specification of procedure mbstowcs [2021-09-13 23:55:11,502 INFO L130 BoogieDeclarations]: Found specification of procedure wcstombs [2021-09-13 23:55:11,502 INFO L130 BoogieDeclarations]: Found specification of procedure rpmatch [2021-09-13 23:55:11,503 INFO L130 BoogieDeclarations]: Found specification of procedure getsubopt [2021-09-13 23:55:11,503 INFO L130 BoogieDeclarations]: Found specification of procedure getloadavg [2021-09-13 23:55:11,503 INFO L130 BoogieDeclarations]: Found specification of procedure myexit [2021-09-13 23:55:11,503 INFO L130 BoogieDeclarations]: Found specification of procedure dll_circular_create [2021-09-13 23:55:11,503 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2021-09-13 23:55:11,503 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2021-09-13 23:55:11,504 INFO L130 BoogieDeclarations]: Found specification of procedure _destroy_in_nondeterministic_order [2021-09-13 23:55:11,504 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2021-09-13 23:55:11,504 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2021-09-13 23:55:11,504 INFO L130 BoogieDeclarations]: Found specification of procedure main [2021-09-13 23:55:11,504 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2021-09-13 23:55:11,504 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2021-09-13 23:55:11,963 INFO L757 $ProcedureCfgBuilder]: dead code at ProgramPoint myexitFINAL: assume true; [2021-09-13 23:55:11,977 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2021-09-13 23:55:11,983 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2021-09-13 23:55:12,001 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 13.09 11:55:12 BoogieIcfgContainer [2021-09-13 23:55:12,003 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2021-09-13 23:55:12,005 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2021-09-13 23:55:12,006 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2021-09-13 23:55:12,009 INFO L275 PluginConnector]: TraceAbstraction initialized [2021-09-13 23:55:12,009 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 13.09 11:55:10" (1/3) ... [2021-09-13 23:55:12,010 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5bc5302b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 13.09 11:55:12, skipping insertion in model container [2021-09-13 23:55:12,010 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 11:55:11" (2/3) ... [2021-09-13 23:55:12,011 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5bc5302b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 13.09 11:55:12, skipping insertion in model container [2021-09-13 23:55:12,011 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 13.09 11:55:12" (3/3) ... [2021-09-13 23:55:12,013 INFO L111 eAbstractionObserver]: Analyzing ICFG dll_nondet_free_order-2.i [2021-09-13 23:55:12,017 INFO L204 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2021-09-13 23:55:12,023 INFO L163 ceAbstractionStarter]: Applying trace abstraction to program that has 59 error locations. [2021-09-13 23:55:12,059 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2021-09-13 23:55:12,065 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, mConcurrency=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 [2021-09-13 23:55:12,065 INFO L340 AbstractCegarLoop]: Starting to check reachability of 59 error locations. [2021-09-13 23:55:12,080 INFO L276 IsEmpty]: Start isEmpty. Operand has 146 states, 76 states have (on average 1.894736842105263) internal successors, (144), 136 states have internal predecessors, (144), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2021-09-13 23:55:12,084 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2021-09-13 23:55:12,084 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:55:12,085 INFO L513 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 23:55:12,085 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting dll_circular_createErr0REQUIRES_VIOLATION === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:55:12,088 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:55:12,088 INFO L82 PathProgramCache]: Analyzing trace with hash 336039556, now seen corresponding path program 1 times [2021-09-13 23:55:12,094 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 23:55:12,094 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [131689932] [2021-09-13 23:55:12,095 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:55:12,095 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 23:55:12,162 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:12,212 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2021-09-13 23:55:12,214 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:12,222 INFO L281 TraceCheckUtils]: 0: Hoare triple {155#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {149#true} is VALID [2021-09-13 23:55:12,222 INFO L281 TraceCheckUtils]: 1: Hoare triple {149#true} assume true; {149#true} is VALID [2021-09-13 23:55:12,222 INFO L276 TraceCheckUtils]: 2: Hoare quadruple {149#true} {149#true} #201#return; {149#true} is VALID [2021-09-13 23:55:12,224 INFO L264 TraceCheckUtils]: 0: Hoare triple {149#true} call ULTIMATE.init(); {155#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2021-09-13 23:55:12,224 INFO L281 TraceCheckUtils]: 1: Hoare triple {155#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {149#true} is VALID [2021-09-13 23:55:12,224 INFO L281 TraceCheckUtils]: 2: Hoare triple {149#true} assume true; {149#true} is VALID [2021-09-13 23:55:12,224 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {149#true} {149#true} #201#return; {149#true} is VALID [2021-09-13 23:55:12,224 INFO L264 TraceCheckUtils]: 4: Hoare triple {149#true} call #t~ret13 := main(); {149#true} is VALID [2021-09-13 23:55:12,225 INFO L281 TraceCheckUtils]: 5: Hoare triple {149#true} ~len~0 := 3; {149#true} is VALID [2021-09-13 23:55:12,232 INFO L264 TraceCheckUtils]: 6: Hoare triple {149#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {149#true} is VALID [2021-09-13 23:55:12,233 INFO L281 TraceCheckUtils]: 7: Hoare triple {149#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {154#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:55:12,246 INFO L281 TraceCheckUtils]: 8: Hoare triple {154#(= (select |#valid| dll_circular_create_~last~0.base) 1)} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {154#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:55:12,246 INFO L281 TraceCheckUtils]: 9: Hoare triple {154#(= (select |#valid| dll_circular_create_~last~0.base) 1)} assume !(1 == #valid[~last~0.base]); {150#false} is VALID [2021-09-13 23:55:12,247 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:55:12,247 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 23:55:12,247 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [131689932] [2021-09-13 23:55:12,248 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [131689932] provided 1 perfect and 0 imperfect interpolant sequences [2021-09-13 23:55:12,248 INFO L186 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2021-09-13 23:55:12,248 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2021-09-13 23:55:12,249 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [622969974] [2021-09-13 23:55:12,253 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 2.0) internal successors, (6), 3 states have internal predecessors, (6), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 10 [2021-09-13 23:55:12,254 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:55:12,256 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 2.0) internal successors, (6), 3 states have internal predecessors, (6), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:12,270 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:12,270 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2021-09-13 23:55:12,271 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 23:55:12,298 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2021-09-13 23:55:12,298 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2021-09-13 23:55:12,301 INFO L87 Difference]: Start difference. First operand has 146 states, 76 states have (on average 1.894736842105263) internal successors, (144), 136 states have internal predecessors, (144), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand has 4 states, 3 states have (on average 2.0) internal successors, (6), 3 states have internal predecessors, (6), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:12,862 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:12,862 INFO L93 Difference]: Finished difference Result 143 states and 150 transitions. [2021-09-13 23:55:12,863 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2021-09-13 23:55:12,864 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 2.0) internal successors, (6), 3 states have internal predecessors, (6), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 10 [2021-09-13 23:55:12,864 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:55:12,865 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 2.0) internal successors, (6), 3 states have internal predecessors, (6), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:12,877 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 154 transitions. [2021-09-13 23:55:12,877 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 2.0) internal successors, (6), 3 states have internal predecessors, (6), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:12,881 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 154 transitions. [2021-09-13 23:55:12,881 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 154 transitions. [2021-09-13 23:55:13,001 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 154 edges. 154 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:13,014 INFO L225 Difference]: With dead ends: 143 [2021-09-13 23:55:13,014 INFO L226 Difference]: Without dead ends: 136 [2021-09-13 23:55:13,016 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 13.31ms TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2021-09-13 23:55:13,018 INFO L928 BasicCegarLoop]: 11 mSDtfsCounter, 54 mSDsluCounter, 152 mSDsCounter, 0 mSdLazyCounter, 368 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 238.27ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 54 SdHoareTripleChecker+Valid, 18 SdHoareTripleChecker+Invalid, 377 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 6.17ms SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 368 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 250.58ms IncrementalHoareTripleChecker+Time [2021-09-13 23:55:13,019 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [54 Valid, 18 Invalid, 377 Unknown, 0 Unchecked, 6.17ms Time], IncrementalHoareTripleChecker [9 Valid, 368 Invalid, 0 Unknown, 0 Unchecked, 250.58ms Time] [2021-09-13 23:55:13,031 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 136 states. [2021-09-13 23:55:13,049 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 136 to 136. [2021-09-13 23:55:13,049 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:55:13,052 INFO L82 GeneralOperation]: Start isEquivalent. First operand 136 states. Second operand has 136 states, 73 states have (on average 1.8356164383561644) internal successors, (134), 128 states have internal predecessors, (134), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:13,055 INFO L74 IsIncluded]: Start isIncluded. First operand 136 states. Second operand has 136 states, 73 states have (on average 1.8356164383561644) internal successors, (134), 128 states have internal predecessors, (134), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:13,056 INFO L87 Difference]: Start difference. First operand 136 states. Second operand has 136 states, 73 states have (on average 1.8356164383561644) internal successors, (134), 128 states have internal predecessors, (134), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:13,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:13,064 INFO L93 Difference]: Finished difference Result 136 states and 141 transitions. [2021-09-13 23:55:13,064 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 141 transitions. [2021-09-13 23:55:13,065 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:13,065 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:13,065 INFO L74 IsIncluded]: Start isIncluded. First operand has 136 states, 73 states have (on average 1.8356164383561644) internal successors, (134), 128 states have internal predecessors, (134), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 136 states. [2021-09-13 23:55:13,066 INFO L87 Difference]: Start difference. First operand has 136 states, 73 states have (on average 1.8356164383561644) internal successors, (134), 128 states have internal predecessors, (134), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 136 states. [2021-09-13 23:55:13,071 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:13,071 INFO L93 Difference]: Finished difference Result 136 states and 141 transitions. [2021-09-13 23:55:13,071 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 141 transitions. [2021-09-13 23:55:13,072 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:13,072 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:13,072 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:55:13,072 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:55:13,072 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 136 states, 73 states have (on average 1.8356164383561644) internal successors, (134), 128 states have internal predecessors, (134), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:13,090 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 136 states to 136 states and 141 transitions. [2021-09-13 23:55:13,091 INFO L78 Accepts]: Start accepts. Automaton has 136 states and 141 transitions. Word has length 10 [2021-09-13 23:55:13,091 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:55:13,092 INFO L470 AbstractCegarLoop]: Abstraction has 136 states and 141 transitions. [2021-09-13 23:55:13,092 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 2.0) internal successors, (6), 3 states have internal predecessors, (6), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:13,092 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 141 transitions. [2021-09-13 23:55:13,092 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2021-09-13 23:55:13,092 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:55:13,092 INFO L513 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 23:55:13,093 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2021-09-13 23:55:13,093 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting dll_circular_createErr1REQUIRES_VIOLATION === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:55:13,093 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:55:13,094 INFO L82 PathProgramCache]: Analyzing trace with hash 336039557, now seen corresponding path program 1 times [2021-09-13 23:55:13,094 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 23:55:13,094 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1742183342] [2021-09-13 23:55:13,094 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:55:13,095 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 23:55:13,111 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:13,142 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2021-09-13 23:55:13,143 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:13,147 INFO L281 TraceCheckUtils]: 0: Hoare triple {715#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {709#true} is VALID [2021-09-13 23:55:13,148 INFO L281 TraceCheckUtils]: 1: Hoare triple {709#true} assume true; {709#true} is VALID [2021-09-13 23:55:13,148 INFO L276 TraceCheckUtils]: 2: Hoare quadruple {709#true} {709#true} #201#return; {709#true} is VALID [2021-09-13 23:55:13,149 INFO L264 TraceCheckUtils]: 0: Hoare triple {709#true} call ULTIMATE.init(); {715#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2021-09-13 23:55:13,149 INFO L281 TraceCheckUtils]: 1: Hoare triple {715#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {709#true} is VALID [2021-09-13 23:55:13,149 INFO L281 TraceCheckUtils]: 2: Hoare triple {709#true} assume true; {709#true} is VALID [2021-09-13 23:55:13,149 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {709#true} {709#true} #201#return; {709#true} is VALID [2021-09-13 23:55:13,149 INFO L264 TraceCheckUtils]: 4: Hoare triple {709#true} call #t~ret13 := main(); {709#true} is VALID [2021-09-13 23:55:13,149 INFO L281 TraceCheckUtils]: 5: Hoare triple {709#true} ~len~0 := 3; {709#true} is VALID [2021-09-13 23:55:13,150 INFO L264 TraceCheckUtils]: 6: Hoare triple {709#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {709#true} is VALID [2021-09-13 23:55:13,150 INFO L281 TraceCheckUtils]: 7: Hoare triple {709#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {714#(and (= (select |#length| dll_circular_create_~last~0.base) 8) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:55:13,151 INFO L281 TraceCheckUtils]: 8: Hoare triple {714#(and (= (select |#length| dll_circular_create_~last~0.base) 8) (= dll_circular_create_~last~0.offset 0))} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {714#(and (= (select |#length| dll_circular_create_~last~0.base) 8) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:55:13,151 INFO L281 TraceCheckUtils]: 9: Hoare triple {714#(and (= (select |#length| dll_circular_create_~last~0.base) 8) (= dll_circular_create_~last~0.offset 0))} assume !(4 + ~last~0.offset <= #length[~last~0.base] && 0 <= ~last~0.offset); {710#false} is VALID [2021-09-13 23:55:13,152 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:55:13,152 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 23:55:13,152 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1742183342] [2021-09-13 23:55:13,152 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1742183342] provided 1 perfect and 0 imperfect interpolant sequences [2021-09-13 23:55:13,152 INFO L186 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2021-09-13 23:55:13,153 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2021-09-13 23:55:13,153 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [996569897] [2021-09-13 23:55:13,154 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 2.0) internal successors, (6), 3 states have internal predecessors, (6), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 10 [2021-09-13 23:55:13,154 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:55:13,154 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 2.0) internal successors, (6), 3 states have internal predecessors, (6), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:13,160 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:13,160 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2021-09-13 23:55:13,161 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 23:55:13,161 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2021-09-13 23:55:13,161 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2021-09-13 23:55:13,161 INFO L87 Difference]: Start difference. First operand 136 states and 141 transitions. Second operand has 4 states, 3 states have (on average 2.0) internal successors, (6), 3 states have internal predecessors, (6), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:13,610 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:13,611 INFO L93 Difference]: Finished difference Result 133 states and 138 transitions. [2021-09-13 23:55:13,611 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2021-09-13 23:55:13,611 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 2.0) internal successors, (6), 3 states have internal predecessors, (6), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 10 [2021-09-13 23:55:13,611 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:55:13,611 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 2.0) internal successors, (6), 3 states have internal predecessors, (6), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:13,613 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 141 transitions. [2021-09-13 23:55:13,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 2.0) internal successors, (6), 3 states have internal predecessors, (6), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:13,615 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 141 transitions. [2021-09-13 23:55:13,615 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 141 transitions. [2021-09-13 23:55:13,718 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 141 edges. 141 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:13,720 INFO L225 Difference]: With dead ends: 133 [2021-09-13 23:55:13,720 INFO L226 Difference]: Without dead ends: 133 [2021-09-13 23:55:13,721 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 11.57ms TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2021-09-13 23:55:13,721 INFO L928 BasicCegarLoop]: 7 mSDtfsCounter, 47 mSDsluCounter, 171 mSDsCounter, 0 mSdLazyCounter, 345 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 215.55ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 47 SdHoareTripleChecker+Valid, 15 SdHoareTripleChecker+Invalid, 351 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 1.73ms SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 345 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 217.64ms IncrementalHoareTripleChecker+Time [2021-09-13 23:55:13,722 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [47 Valid, 15 Invalid, 351 Unknown, 0 Unchecked, 1.73ms Time], IncrementalHoareTripleChecker [6 Valid, 345 Invalid, 0 Unknown, 0 Unchecked, 217.64ms Time] [2021-09-13 23:55:13,722 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 133 states. [2021-09-13 23:55:13,725 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 133 to 133. [2021-09-13 23:55:13,726 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:55:13,726 INFO L82 GeneralOperation]: Start isEquivalent. First operand 133 states. Second operand has 133 states, 73 states have (on average 1.7945205479452055) internal successors, (131), 125 states have internal predecessors, (131), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:13,726 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand has 133 states, 73 states have (on average 1.7945205479452055) internal successors, (131), 125 states have internal predecessors, (131), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:13,727 INFO L87 Difference]: Start difference. First operand 133 states. Second operand has 133 states, 73 states have (on average 1.7945205479452055) internal successors, (131), 125 states have internal predecessors, (131), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:13,730 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:13,730 INFO L93 Difference]: Finished difference Result 133 states and 138 transitions. [2021-09-13 23:55:13,730 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 138 transitions. [2021-09-13 23:55:13,731 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:13,731 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:13,731 INFO L74 IsIncluded]: Start isIncluded. First operand has 133 states, 73 states have (on average 1.7945205479452055) internal successors, (131), 125 states have internal predecessors, (131), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 133 states. [2021-09-13 23:55:13,731 INFO L87 Difference]: Start difference. First operand has 133 states, 73 states have (on average 1.7945205479452055) internal successors, (131), 125 states have internal predecessors, (131), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 133 states. [2021-09-13 23:55:13,734 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:13,734 INFO L93 Difference]: Finished difference Result 133 states and 138 transitions. [2021-09-13 23:55:13,735 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 138 transitions. [2021-09-13 23:55:13,735 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:13,735 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:13,735 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:55:13,736 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:55:13,736 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 133 states, 73 states have (on average 1.7945205479452055) internal successors, (131), 125 states have internal predecessors, (131), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:13,739 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 138 transitions. [2021-09-13 23:55:13,739 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 138 transitions. Word has length 10 [2021-09-13 23:55:13,739 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:55:13,739 INFO L470 AbstractCegarLoop]: Abstraction has 133 states and 138 transitions. [2021-09-13 23:55:13,739 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 2.0) internal successors, (6), 3 states have internal predecessors, (6), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:13,739 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 138 transitions. [2021-09-13 23:55:13,740 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2021-09-13 23:55:13,740 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:55:13,740 INFO L513 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 23:55:13,740 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2021-09-13 23:55:13,740 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting dll_circular_createErr4REQUIRES_VIOLATION === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:55:13,741 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:55:13,741 INFO L82 PathProgramCache]: Analyzing trace with hash -1885452530, now seen corresponding path program 1 times [2021-09-13 23:55:13,741 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 23:55:13,741 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1142412675] [2021-09-13 23:55:13,741 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:55:13,741 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 23:55:13,753 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:13,776 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2021-09-13 23:55:13,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:13,780 INFO L281 TraceCheckUtils]: 0: Hoare triple {1256#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1250#true} is VALID [2021-09-13 23:55:13,780 INFO L281 TraceCheckUtils]: 1: Hoare triple {1250#true} assume true; {1250#true} is VALID [2021-09-13 23:55:13,780 INFO L276 TraceCheckUtils]: 2: Hoare quadruple {1250#true} {1250#true} #201#return; {1250#true} is VALID [2021-09-13 23:55:13,781 INFO L264 TraceCheckUtils]: 0: Hoare triple {1250#true} call ULTIMATE.init(); {1256#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2021-09-13 23:55:13,781 INFO L281 TraceCheckUtils]: 1: Hoare triple {1256#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1250#true} is VALID [2021-09-13 23:55:13,781 INFO L281 TraceCheckUtils]: 2: Hoare triple {1250#true} assume true; {1250#true} is VALID [2021-09-13 23:55:13,781 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {1250#true} {1250#true} #201#return; {1250#true} is VALID [2021-09-13 23:55:13,782 INFO L264 TraceCheckUtils]: 4: Hoare triple {1250#true} call #t~ret13 := main(); {1250#true} is VALID [2021-09-13 23:55:13,782 INFO L281 TraceCheckUtils]: 5: Hoare triple {1250#true} ~len~0 := 3; {1250#true} is VALID [2021-09-13 23:55:13,782 INFO L264 TraceCheckUtils]: 6: Hoare triple {1250#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {1250#true} is VALID [2021-09-13 23:55:13,782 INFO L281 TraceCheckUtils]: 7: Hoare triple {1250#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {1250#true} is VALID [2021-09-13 23:55:13,782 INFO L281 TraceCheckUtils]: 8: Hoare triple {1250#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {1250#true} is VALID [2021-09-13 23:55:13,782 INFO L281 TraceCheckUtils]: 9: Hoare triple {1250#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {1250#true} is VALID [2021-09-13 23:55:13,783 INFO L281 TraceCheckUtils]: 10: Hoare triple {1250#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {1250#true} is VALID [2021-09-13 23:55:13,783 INFO L281 TraceCheckUtils]: 11: Hoare triple {1250#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {1250#true} is VALID [2021-09-13 23:55:13,784 INFO L281 TraceCheckUtils]: 12: Hoare triple {1250#true} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {1255#(= 1 (select |#valid| dll_circular_create_~new_head~0.base))} is VALID [2021-09-13 23:55:13,784 INFO L281 TraceCheckUtils]: 13: Hoare triple {1255#(= 1 (select |#valid| dll_circular_create_~new_head~0.base))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1255#(= 1 (select |#valid| dll_circular_create_~new_head~0.base))} is VALID [2021-09-13 23:55:13,784 INFO L281 TraceCheckUtils]: 14: Hoare triple {1255#(= 1 (select |#valid| dll_circular_create_~new_head~0.base))} assume !(1 == #valid[~new_head~0.base]); {1251#false} is VALID [2021-09-13 23:55:13,785 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:55:13,785 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 23:55:13,785 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1142412675] [2021-09-13 23:55:13,785 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1142412675] provided 1 perfect and 0 imperfect interpolant sequences [2021-09-13 23:55:13,785 INFO L186 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2021-09-13 23:55:13,785 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2021-09-13 23:55:13,786 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [192250232] [2021-09-13 23:55:13,786 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 15 [2021-09-13 23:55:13,786 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:55:13,786 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:13,795 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:13,795 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2021-09-13 23:55:13,796 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 23:55:13,796 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2021-09-13 23:55:13,796 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2021-09-13 23:55:13,796 INFO L87 Difference]: Start difference. First operand 133 states and 138 transitions. Second operand has 4 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:14,227 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:14,227 INFO L93 Difference]: Finished difference Result 140 states and 146 transitions. [2021-09-13 23:55:14,227 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2021-09-13 23:55:14,228 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 15 [2021-09-13 23:55:14,228 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:55:14,228 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:14,230 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 147 transitions. [2021-09-13 23:55:14,230 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:14,232 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 147 transitions. [2021-09-13 23:55:14,232 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 147 transitions. [2021-09-13 23:55:14,328 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 147 edges. 147 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:14,329 INFO L225 Difference]: With dead ends: 140 [2021-09-13 23:55:14,330 INFO L226 Difference]: Without dead ends: 140 [2021-09-13 23:55:14,330 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 9.21ms TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2021-09-13 23:55:14,331 INFO L928 BasicCegarLoop]: 8 mSDtfsCounter, 42 mSDsluCounter, 163 mSDsCounter, 0 mSdLazyCounter, 373 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 217.45ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 42 SdHoareTripleChecker+Valid, 16 SdHoareTripleChecker+Invalid, 376 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 2.42ms SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 373 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 219.62ms IncrementalHoareTripleChecker+Time [2021-09-13 23:55:14,331 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [42 Valid, 16 Invalid, 376 Unknown, 0 Unchecked, 2.42ms Time], IncrementalHoareTripleChecker [3 Valid, 373 Invalid, 0 Unknown, 0 Unchecked, 219.62ms Time] [2021-09-13 23:55:14,332 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 140 states. [2021-09-13 23:55:14,335 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 140 to 132. [2021-09-13 23:55:14,335 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:55:14,335 INFO L82 GeneralOperation]: Start isEquivalent. First operand 140 states. Second operand has 132 states, 73 states have (on average 1.7808219178082192) internal successors, (130), 124 states have internal predecessors, (130), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:14,335 INFO L74 IsIncluded]: Start isIncluded. First operand 140 states. Second operand has 132 states, 73 states have (on average 1.7808219178082192) internal successors, (130), 124 states have internal predecessors, (130), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:14,336 INFO L87 Difference]: Start difference. First operand 140 states. Second operand has 132 states, 73 states have (on average 1.7808219178082192) internal successors, (130), 124 states have internal predecessors, (130), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:14,338 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:14,338 INFO L93 Difference]: Finished difference Result 140 states and 146 transitions. [2021-09-13 23:55:14,339 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 146 transitions. [2021-09-13 23:55:14,339 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:14,339 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:14,339 INFO L74 IsIncluded]: Start isIncluded. First operand has 132 states, 73 states have (on average 1.7808219178082192) internal successors, (130), 124 states have internal predecessors, (130), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 140 states. [2021-09-13 23:55:14,340 INFO L87 Difference]: Start difference. First operand has 132 states, 73 states have (on average 1.7808219178082192) internal successors, (130), 124 states have internal predecessors, (130), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 140 states. [2021-09-13 23:55:14,342 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:14,342 INFO L93 Difference]: Finished difference Result 140 states and 146 transitions. [2021-09-13 23:55:14,343 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 146 transitions. [2021-09-13 23:55:14,343 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:14,343 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:14,343 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:55:14,343 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:55:14,344 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 132 states, 73 states have (on average 1.7808219178082192) internal successors, (130), 124 states have internal predecessors, (130), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:14,346 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 137 transitions. [2021-09-13 23:55:14,346 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 137 transitions. Word has length 15 [2021-09-13 23:55:14,346 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:55:14,346 INFO L470 AbstractCegarLoop]: Abstraction has 132 states and 137 transitions. [2021-09-13 23:55:14,346 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:14,347 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 137 transitions. [2021-09-13 23:55:14,347 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2021-09-13 23:55:14,347 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:55:14,347 INFO L513 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 23:55:14,347 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2021-09-13 23:55:14,347 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting dll_circular_createErr5REQUIRES_VIOLATION === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:55:14,348 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:55:14,348 INFO L82 PathProgramCache]: Analyzing trace with hash -1885452529, now seen corresponding path program 1 times [2021-09-13 23:55:14,348 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 23:55:14,348 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [542199018] [2021-09-13 23:55:14,348 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:55:14,349 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 23:55:14,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:14,384 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2021-09-13 23:55:14,385 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:14,388 INFO L281 TraceCheckUtils]: 0: Hoare triple {1817#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1811#true} is VALID [2021-09-13 23:55:14,388 INFO L281 TraceCheckUtils]: 1: Hoare triple {1811#true} assume true; {1811#true} is VALID [2021-09-13 23:55:14,388 INFO L276 TraceCheckUtils]: 2: Hoare quadruple {1811#true} {1811#true} #201#return; {1811#true} is VALID [2021-09-13 23:55:14,389 INFO L264 TraceCheckUtils]: 0: Hoare triple {1811#true} call ULTIMATE.init(); {1817#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2021-09-13 23:55:14,389 INFO L281 TraceCheckUtils]: 1: Hoare triple {1817#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1811#true} is VALID [2021-09-13 23:55:14,389 INFO L281 TraceCheckUtils]: 2: Hoare triple {1811#true} assume true; {1811#true} is VALID [2021-09-13 23:55:14,389 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {1811#true} {1811#true} #201#return; {1811#true} is VALID [2021-09-13 23:55:14,389 INFO L264 TraceCheckUtils]: 4: Hoare triple {1811#true} call #t~ret13 := main(); {1811#true} is VALID [2021-09-13 23:55:14,390 INFO L281 TraceCheckUtils]: 5: Hoare triple {1811#true} ~len~0 := 3; {1811#true} is VALID [2021-09-13 23:55:14,390 INFO L264 TraceCheckUtils]: 6: Hoare triple {1811#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {1811#true} is VALID [2021-09-13 23:55:14,390 INFO L281 TraceCheckUtils]: 7: Hoare triple {1811#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {1811#true} is VALID [2021-09-13 23:55:14,390 INFO L281 TraceCheckUtils]: 8: Hoare triple {1811#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {1811#true} is VALID [2021-09-13 23:55:14,390 INFO L281 TraceCheckUtils]: 9: Hoare triple {1811#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {1811#true} is VALID [2021-09-13 23:55:14,390 INFO L281 TraceCheckUtils]: 10: Hoare triple {1811#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {1811#true} is VALID [2021-09-13 23:55:14,391 INFO L281 TraceCheckUtils]: 11: Hoare triple {1811#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {1811#true} is VALID [2021-09-13 23:55:14,391 INFO L281 TraceCheckUtils]: 12: Hoare triple {1811#true} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {1816#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8))} is VALID [2021-09-13 23:55:14,392 INFO L281 TraceCheckUtils]: 13: Hoare triple {1816#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1816#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8))} is VALID [2021-09-13 23:55:14,392 INFO L281 TraceCheckUtils]: 14: Hoare triple {1816#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8))} assume !(4 + ~new_head~0.offset <= #length[~new_head~0.base] && 0 <= ~new_head~0.offset); {1812#false} is VALID [2021-09-13 23:55:14,392 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:55:14,392 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 23:55:14,393 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [542199018] [2021-09-13 23:55:14,393 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [542199018] provided 1 perfect and 0 imperfect interpolant sequences [2021-09-13 23:55:14,393 INFO L186 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2021-09-13 23:55:14,393 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2021-09-13 23:55:14,393 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2077452140] [2021-09-13 23:55:14,393 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 15 [2021-09-13 23:55:14,394 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:55:14,394 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:14,406 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:14,406 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2021-09-13 23:55:14,407 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 23:55:14,407 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2021-09-13 23:55:14,407 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2021-09-13 23:55:14,407 INFO L87 Difference]: Start difference. First operand 132 states and 137 transitions. Second operand has 4 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:14,839 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:14,839 INFO L93 Difference]: Finished difference Result 139 states and 145 transitions. [2021-09-13 23:55:14,839 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2021-09-13 23:55:14,839 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 15 [2021-09-13 23:55:14,840 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:55:14,840 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:14,842 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 146 transitions. [2021-09-13 23:55:14,842 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:14,843 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 146 transitions. [2021-09-13 23:55:14,843 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 146 transitions. [2021-09-13 23:55:14,941 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 146 edges. 146 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:14,943 INFO L225 Difference]: With dead ends: 139 [2021-09-13 23:55:14,943 INFO L226 Difference]: Without dead ends: 139 [2021-09-13 23:55:14,944 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 10.11ms TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2021-09-13 23:55:14,944 INFO L928 BasicCegarLoop]: 8 mSDtfsCounter, 41 mSDsluCounter, 187 mSDsCounter, 0 mSdLazyCounter, 370 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 220.58ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 17 SdHoareTripleChecker+Invalid, 373 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 1.79ms SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 370 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 222.55ms IncrementalHoareTripleChecker+Time [2021-09-13 23:55:14,945 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [41 Valid, 17 Invalid, 373 Unknown, 0 Unchecked, 1.79ms Time], IncrementalHoareTripleChecker [3 Valid, 370 Invalid, 0 Unknown, 0 Unchecked, 222.55ms Time] [2021-09-13 23:55:14,945 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 139 states. [2021-09-13 23:55:14,948 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 139 to 131. [2021-09-13 23:55:14,948 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:55:14,948 INFO L82 GeneralOperation]: Start isEquivalent. First operand 139 states. Second operand has 131 states, 73 states have (on average 1.7671232876712328) internal successors, (129), 123 states have internal predecessors, (129), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:14,949 INFO L74 IsIncluded]: Start isIncluded. First operand 139 states. Second operand has 131 states, 73 states have (on average 1.7671232876712328) internal successors, (129), 123 states have internal predecessors, (129), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:14,952 INFO L87 Difference]: Start difference. First operand 139 states. Second operand has 131 states, 73 states have (on average 1.7671232876712328) internal successors, (129), 123 states have internal predecessors, (129), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:14,955 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:14,955 INFO L93 Difference]: Finished difference Result 139 states and 145 transitions. [2021-09-13 23:55:14,955 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 145 transitions. [2021-09-13 23:55:14,955 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:14,955 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:14,956 INFO L74 IsIncluded]: Start isIncluded. First operand has 131 states, 73 states have (on average 1.7671232876712328) internal successors, (129), 123 states have internal predecessors, (129), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 139 states. [2021-09-13 23:55:14,956 INFO L87 Difference]: Start difference. First operand has 131 states, 73 states have (on average 1.7671232876712328) internal successors, (129), 123 states have internal predecessors, (129), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 139 states. [2021-09-13 23:55:14,958 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:14,958 INFO L93 Difference]: Finished difference Result 139 states and 145 transitions. [2021-09-13 23:55:14,959 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 145 transitions. [2021-09-13 23:55:14,959 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:14,959 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:14,959 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:55:14,959 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:55:14,959 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 131 states, 73 states have (on average 1.7671232876712328) internal successors, (129), 123 states have internal predecessors, (129), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:14,961 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 136 transitions. [2021-09-13 23:55:14,962 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 136 transitions. Word has length 15 [2021-09-13 23:55:14,962 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:55:14,962 INFO L470 AbstractCegarLoop]: Abstraction has 131 states and 136 transitions. [2021-09-13 23:55:14,962 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:14,962 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 136 transitions. [2021-09-13 23:55:14,962 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2021-09-13 23:55:14,963 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:55:14,963 INFO L513 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 23:55:14,963 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2021-09-13 23:55:14,963 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting dll_circular_createErr10REQUIRES_VIOLATION === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:55:14,963 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:55:14,964 INFO L82 PathProgramCache]: Analyzing trace with hash -1885454067, now seen corresponding path program 1 times [2021-09-13 23:55:14,964 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 23:55:14,964 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [834393206] [2021-09-13 23:55:14,964 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:55:14,964 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 23:55:14,972 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:15,019 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2021-09-13 23:55:15,020 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:15,027 INFO L281 TraceCheckUtils]: 0: Hoare triple {2376#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2368#true} is VALID [2021-09-13 23:55:15,027 INFO L281 TraceCheckUtils]: 1: Hoare triple {2368#true} assume true; {2368#true} is VALID [2021-09-13 23:55:15,027 INFO L276 TraceCheckUtils]: 2: Hoare quadruple {2368#true} {2368#true} #201#return; {2368#true} is VALID [2021-09-13 23:55:15,027 INFO L264 TraceCheckUtils]: 0: Hoare triple {2368#true} call ULTIMATE.init(); {2376#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2021-09-13 23:55:15,028 INFO L281 TraceCheckUtils]: 1: Hoare triple {2376#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2368#true} is VALID [2021-09-13 23:55:15,028 INFO L281 TraceCheckUtils]: 2: Hoare triple {2368#true} assume true; {2368#true} is VALID [2021-09-13 23:55:15,028 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {2368#true} {2368#true} #201#return; {2368#true} is VALID [2021-09-13 23:55:15,028 INFO L264 TraceCheckUtils]: 4: Hoare triple {2368#true} call #t~ret13 := main(); {2368#true} is VALID [2021-09-13 23:55:15,028 INFO L281 TraceCheckUtils]: 5: Hoare triple {2368#true} ~len~0 := 3; {2368#true} is VALID [2021-09-13 23:55:15,028 INFO L264 TraceCheckUtils]: 6: Hoare triple {2368#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {2368#true} is VALID [2021-09-13 23:55:15,029 INFO L281 TraceCheckUtils]: 7: Hoare triple {2368#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {2368#true} is VALID [2021-09-13 23:55:15,029 INFO L281 TraceCheckUtils]: 8: Hoare triple {2368#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {2368#true} is VALID [2021-09-13 23:55:15,029 INFO L281 TraceCheckUtils]: 9: Hoare triple {2368#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {2373#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:55:15,030 INFO L281 TraceCheckUtils]: 10: Hoare triple {2373#(= (select |#valid| dll_circular_create_~last~0.base) 1)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {2373#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:55:15,030 INFO L281 TraceCheckUtils]: 11: Hoare triple {2373#(= (select |#valid| dll_circular_create_~last~0.base) 1)} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {2374#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (= (select |#valid| dll_circular_create_~head~0.base) (select |#valid| dll_circular_create_~last~0.base)))} is VALID [2021-09-13 23:55:15,030 INFO L281 TraceCheckUtils]: 12: Hoare triple {2374#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (= (select |#valid| dll_circular_create_~head~0.base) (select |#valid| dll_circular_create_~last~0.base)))} assume !(~len > 1); {2374#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (= (select |#valid| dll_circular_create_~head~0.base) (select |#valid| dll_circular_create_~last~0.base)))} is VALID [2021-09-13 23:55:15,031 INFO L281 TraceCheckUtils]: 13: Hoare triple {2374#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (= (select |#valid| dll_circular_create_~head~0.base) (select |#valid| dll_circular_create_~last~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {2375#(= (select |#valid| dll_circular_create_~head~0.base) 1)} is VALID [2021-09-13 23:55:15,031 INFO L281 TraceCheckUtils]: 14: Hoare triple {2375#(= (select |#valid| dll_circular_create_~head~0.base) 1)} assume !(1 == #valid[~head~0.base]); {2369#false} is VALID [2021-09-13 23:55:15,031 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:55:15,032 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 23:55:15,032 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [834393206] [2021-09-13 23:55:15,032 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [834393206] provided 1 perfect and 0 imperfect interpolant sequences [2021-09-13 23:55:15,032 INFO L186 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2021-09-13 23:55:15,032 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2021-09-13 23:55:15,032 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1735571830] [2021-09-13 23:55:15,033 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.2) internal successors, (11), 5 states have internal predecessors, (11), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 15 [2021-09-13 23:55:15,033 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:55:15,033 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 2.2) internal successors, (11), 5 states have internal predecessors, (11), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:15,041 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:15,041 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2021-09-13 23:55:15,041 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 23:55:15,042 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2021-09-13 23:55:15,042 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2021-09-13 23:55:15,042 INFO L87 Difference]: Start difference. First operand 131 states and 136 transitions. Second operand has 6 states, 5 states have (on average 2.2) internal successors, (11), 5 states have internal predecessors, (11), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:15,622 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:15,622 INFO L93 Difference]: Finished difference Result 139 states and 145 transitions. [2021-09-13 23:55:15,622 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2021-09-13 23:55:15,623 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.2) internal successors, (11), 5 states have internal predecessors, (11), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 15 [2021-09-13 23:55:15,623 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:55:15,623 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.2) internal successors, (11), 5 states have internal predecessors, (11), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:15,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 147 transitions. [2021-09-13 23:55:15,625 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.2) internal successors, (11), 5 states have internal predecessors, (11), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:15,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 147 transitions. [2021-09-13 23:55:15,627 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 147 transitions. [2021-09-13 23:55:15,721 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 147 edges. 147 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:15,723 INFO L225 Difference]: With dead ends: 139 [2021-09-13 23:55:15,723 INFO L226 Difference]: Without dead ends: 139 [2021-09-13 23:55:15,723 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 17.83ms TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2021-09-13 23:55:15,724 INFO L928 BasicCegarLoop]: 7 mSDtfsCounter, 62 mSDsluCounter, 206 mSDsCounter, 0 mSdLazyCounter, 482 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 289.36ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 62 SdHoareTripleChecker+Valid, 19 SdHoareTripleChecker+Invalid, 493 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 2.46ms SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 482 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 292.15ms IncrementalHoareTripleChecker+Time [2021-09-13 23:55:15,724 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [62 Valid, 19 Invalid, 493 Unknown, 0 Unchecked, 2.46ms Time], IncrementalHoareTripleChecker [11 Valid, 482 Invalid, 0 Unknown, 0 Unchecked, 292.15ms Time] [2021-09-13 23:55:15,724 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 139 states. [2021-09-13 23:55:15,727 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 139 to 137. [2021-09-13 23:55:15,727 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:55:15,728 INFO L82 GeneralOperation]: Start isEquivalent. First operand 139 states. Second operand has 137 states, 79 states have (on average 1.7468354430379747) internal successors, (138), 129 states have internal predecessors, (138), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:15,728 INFO L74 IsIncluded]: Start isIncluded. First operand 139 states. Second operand has 137 states, 79 states have (on average 1.7468354430379747) internal successors, (138), 129 states have internal predecessors, (138), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:15,728 INFO L87 Difference]: Start difference. First operand 139 states. Second operand has 137 states, 79 states have (on average 1.7468354430379747) internal successors, (138), 129 states have internal predecessors, (138), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:15,730 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:15,730 INFO L93 Difference]: Finished difference Result 139 states and 145 transitions. [2021-09-13 23:55:15,731 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 145 transitions. [2021-09-13 23:55:15,731 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:15,731 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:15,731 INFO L74 IsIncluded]: Start isIncluded. First operand has 137 states, 79 states have (on average 1.7468354430379747) internal successors, (138), 129 states have internal predecessors, (138), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 139 states. [2021-09-13 23:55:15,732 INFO L87 Difference]: Start difference. First operand has 137 states, 79 states have (on average 1.7468354430379747) internal successors, (138), 129 states have internal predecessors, (138), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 139 states. [2021-09-13 23:55:15,734 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:15,734 INFO L93 Difference]: Finished difference Result 139 states and 145 transitions. [2021-09-13 23:55:15,734 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 145 transitions. [2021-09-13 23:55:15,734 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:15,734 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:15,734 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:55:15,734 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:55:15,735 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 137 states, 79 states have (on average 1.7468354430379747) internal successors, (138), 129 states have internal predecessors, (138), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:15,737 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 145 transitions. [2021-09-13 23:55:15,737 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 145 transitions. Word has length 15 [2021-09-13 23:55:15,737 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:55:15,737 INFO L470 AbstractCegarLoop]: Abstraction has 137 states and 145 transitions. [2021-09-13 23:55:15,737 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 2.2) internal successors, (11), 5 states have internal predecessors, (11), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:15,737 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 145 transitions. [2021-09-13 23:55:15,738 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2021-09-13 23:55:15,738 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:55:15,738 INFO L513 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 23:55:15,738 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2021-09-13 23:55:15,738 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting dll_circular_createErr11REQUIRES_VIOLATION === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:55:15,738 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:55:15,739 INFO L82 PathProgramCache]: Analyzing trace with hash -1885454066, now seen corresponding path program 1 times [2021-09-13 23:55:15,739 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 23:55:15,739 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [490277431] [2021-09-13 23:55:15,739 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:55:15,739 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 23:55:15,746 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:15,778 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2021-09-13 23:55:15,779 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:15,782 INFO L281 TraceCheckUtils]: 0: Hoare triple {2941#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2933#true} is VALID [2021-09-13 23:55:15,782 INFO L281 TraceCheckUtils]: 1: Hoare triple {2933#true} assume true; {2933#true} is VALID [2021-09-13 23:55:15,782 INFO L276 TraceCheckUtils]: 2: Hoare quadruple {2933#true} {2933#true} #201#return; {2933#true} is VALID [2021-09-13 23:55:15,783 INFO L264 TraceCheckUtils]: 0: Hoare triple {2933#true} call ULTIMATE.init(); {2941#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2021-09-13 23:55:15,783 INFO L281 TraceCheckUtils]: 1: Hoare triple {2941#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2933#true} is VALID [2021-09-13 23:55:15,783 INFO L281 TraceCheckUtils]: 2: Hoare triple {2933#true} assume true; {2933#true} is VALID [2021-09-13 23:55:15,783 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {2933#true} {2933#true} #201#return; {2933#true} is VALID [2021-09-13 23:55:15,783 INFO L264 TraceCheckUtils]: 4: Hoare triple {2933#true} call #t~ret13 := main(); {2933#true} is VALID [2021-09-13 23:55:15,785 INFO L281 TraceCheckUtils]: 5: Hoare triple {2933#true} ~len~0 := 3; {2938#(<= 3 main_~len~0)} is VALID [2021-09-13 23:55:15,785 INFO L264 TraceCheckUtils]: 6: Hoare triple {2938#(<= 3 main_~len~0)} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {2939#(<= 3 |dll_circular_create_#in~len|)} is VALID [2021-09-13 23:55:15,786 INFO L281 TraceCheckUtils]: 7: Hoare triple {2939#(<= 3 |dll_circular_create_#in~len|)} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {2940#(<= 3 dll_circular_create_~len)} is VALID [2021-09-13 23:55:15,786 INFO L281 TraceCheckUtils]: 8: Hoare triple {2940#(<= 3 dll_circular_create_~len)} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {2940#(<= 3 dll_circular_create_~len)} is VALID [2021-09-13 23:55:15,787 INFO L281 TraceCheckUtils]: 9: Hoare triple {2940#(<= 3 dll_circular_create_~len)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {2940#(<= 3 dll_circular_create_~len)} is VALID [2021-09-13 23:55:15,787 INFO L281 TraceCheckUtils]: 10: Hoare triple {2940#(<= 3 dll_circular_create_~len)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {2940#(<= 3 dll_circular_create_~len)} is VALID [2021-09-13 23:55:15,787 INFO L281 TraceCheckUtils]: 11: Hoare triple {2940#(<= 3 dll_circular_create_~len)} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {2940#(<= 3 dll_circular_create_~len)} is VALID [2021-09-13 23:55:15,788 INFO L281 TraceCheckUtils]: 12: Hoare triple {2940#(<= 3 dll_circular_create_~len)} assume !(~len > 1); {2934#false} is VALID [2021-09-13 23:55:15,788 INFO L281 TraceCheckUtils]: 13: Hoare triple {2934#false} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {2934#false} is VALID [2021-09-13 23:55:15,788 INFO L281 TraceCheckUtils]: 14: Hoare triple {2934#false} assume !(4 + (4 + ~head~0.offset) <= #length[~head~0.base] && 0 <= 4 + ~head~0.offset); {2934#false} is VALID [2021-09-13 23:55:15,788 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:55:15,788 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 23:55:15,789 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [490277431] [2021-09-13 23:55:15,789 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [490277431] provided 1 perfect and 0 imperfect interpolant sequences [2021-09-13 23:55:15,789 INFO L186 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2021-09-13 23:55:15,789 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2021-09-13 23:55:15,789 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2040962241] [2021-09-13 23:55:15,789 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 15 [2021-09-13 23:55:15,790 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:55:15,790 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:15,798 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:15,798 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2021-09-13 23:55:15,798 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 23:55:15,799 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2021-09-13 23:55:15,799 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2021-09-13 23:55:15,799 INFO L87 Difference]: Start difference. First operand 137 states and 145 transitions. Second operand has 6 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:16,477 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:16,477 INFO L93 Difference]: Finished difference Result 137 states and 142 transitions. [2021-09-13 23:55:16,477 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2021-09-13 23:55:16,477 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 15 [2021-09-13 23:55:16,477 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:55:16,477 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:16,479 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 143 transitions. [2021-09-13 23:55:16,479 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:16,480 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 143 transitions. [2021-09-13 23:55:16,480 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 143 transitions. [2021-09-13 23:55:16,572 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 143 edges. 143 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:16,573 INFO L225 Difference]: With dead ends: 137 [2021-09-13 23:55:16,573 INFO L226 Difference]: Without dead ends: 137 [2021-09-13 23:55:16,573 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 34.55ms TimeCoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2021-09-13 23:55:16,574 INFO L928 BasicCegarLoop]: 6 mSDtfsCounter, 60 mSDsluCounter, 367 mSDsCounter, 0 mSdLazyCounter, 592 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 341.07ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 61 SdHoareTripleChecker+Valid, 24 SdHoareTripleChecker+Invalid, 598 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 3.12ms SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 592 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 344.28ms IncrementalHoareTripleChecker+Time [2021-09-13 23:55:16,574 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [61 Valid, 24 Invalid, 598 Unknown, 0 Unchecked, 3.12ms Time], IncrementalHoareTripleChecker [6 Valid, 592 Invalid, 0 Unknown, 0 Unchecked, 344.28ms Time] [2021-09-13 23:55:16,575 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137 states. [2021-09-13 23:55:16,577 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137 to 135. [2021-09-13 23:55:16,577 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:55:16,578 INFO L82 GeneralOperation]: Start isEquivalent. First operand 137 states. Second operand has 135 states, 77 states have (on average 1.7402597402597402) internal successors, (134), 127 states have internal predecessors, (134), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:16,578 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand has 135 states, 77 states have (on average 1.7402597402597402) internal successors, (134), 127 states have internal predecessors, (134), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:16,578 INFO L87 Difference]: Start difference. First operand 137 states. Second operand has 135 states, 77 states have (on average 1.7402597402597402) internal successors, (134), 127 states have internal predecessors, (134), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:16,580 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:16,581 INFO L93 Difference]: Finished difference Result 137 states and 142 transitions. [2021-09-13 23:55:16,581 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 142 transitions. [2021-09-13 23:55:16,581 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:16,581 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:16,581 INFO L74 IsIncluded]: Start isIncluded. First operand has 135 states, 77 states have (on average 1.7402597402597402) internal successors, (134), 127 states have internal predecessors, (134), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 137 states. [2021-09-13 23:55:16,582 INFO L87 Difference]: Start difference. First operand has 135 states, 77 states have (on average 1.7402597402597402) internal successors, (134), 127 states have internal predecessors, (134), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 137 states. [2021-09-13 23:55:16,584 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:16,584 INFO L93 Difference]: Finished difference Result 137 states and 142 transitions. [2021-09-13 23:55:16,584 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 142 transitions. [2021-09-13 23:55:16,584 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:16,584 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:16,584 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:55:16,585 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:55:16,585 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 135 states, 77 states have (on average 1.7402597402597402) internal successors, (134), 127 states have internal predecessors, (134), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:16,587 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 135 states to 135 states and 141 transitions. [2021-09-13 23:55:16,587 INFO L78 Accepts]: Start accepts. Automaton has 135 states and 141 transitions. Word has length 15 [2021-09-13 23:55:16,587 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:55:16,587 INFO L470 AbstractCegarLoop]: Abstraction has 135 states and 141 transitions. [2021-09-13 23:55:16,587 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:16,588 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 141 transitions. [2021-09-13 23:55:16,588 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2021-09-13 23:55:16,588 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:55:16,588 INFO L513 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 23:55:16,588 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2021-09-13 23:55:16,588 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting dll_circular_createErr7REQUIRES_VIOLATION === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:55:16,589 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:55:16,589 INFO L82 PathProgramCache]: Analyzing trace with hash 1680513841, now seen corresponding path program 1 times [2021-09-13 23:55:16,589 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 23:55:16,589 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [583154825] [2021-09-13 23:55:16,589 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:55:16,589 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 23:55:16,599 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:16,645 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2021-09-13 23:55:16,646 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:16,649 INFO L281 TraceCheckUtils]: 0: Hoare triple {3503#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {3496#true} is VALID [2021-09-13 23:55:16,650 INFO L281 TraceCheckUtils]: 1: Hoare triple {3496#true} assume true; {3496#true} is VALID [2021-09-13 23:55:16,650 INFO L276 TraceCheckUtils]: 2: Hoare quadruple {3496#true} {3496#true} #201#return; {3496#true} is VALID [2021-09-13 23:55:16,651 INFO L264 TraceCheckUtils]: 0: Hoare triple {3496#true} call ULTIMATE.init(); {3503#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2021-09-13 23:55:16,651 INFO L281 TraceCheckUtils]: 1: Hoare triple {3503#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {3496#true} is VALID [2021-09-13 23:55:16,651 INFO L281 TraceCheckUtils]: 2: Hoare triple {3496#true} assume true; {3496#true} is VALID [2021-09-13 23:55:16,651 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {3496#true} {3496#true} #201#return; {3496#true} is VALID [2021-09-13 23:55:16,651 INFO L264 TraceCheckUtils]: 4: Hoare triple {3496#true} call #t~ret13 := main(); {3496#true} is VALID [2021-09-13 23:55:16,652 INFO L281 TraceCheckUtils]: 5: Hoare triple {3496#true} ~len~0 := 3; {3496#true} is VALID [2021-09-13 23:55:16,652 INFO L264 TraceCheckUtils]: 6: Hoare triple {3496#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {3496#true} is VALID [2021-09-13 23:55:16,653 INFO L281 TraceCheckUtils]: 7: Hoare triple {3496#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {3501#(and (= (select |#length| dll_circular_create_~last~0.base) 8) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:55:16,653 INFO L281 TraceCheckUtils]: 8: Hoare triple {3501#(and (= (select |#length| dll_circular_create_~last~0.base) 8) (= dll_circular_create_~last~0.offset 0))} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {3501#(and (= (select |#length| dll_circular_create_~last~0.base) 8) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:55:16,654 INFO L281 TraceCheckUtils]: 9: Hoare triple {3501#(and (= (select |#length| dll_circular_create_~last~0.base) 8) (= dll_circular_create_~last~0.offset 0))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {3501#(and (= (select |#length| dll_circular_create_~last~0.base) 8) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:55:16,655 INFO L281 TraceCheckUtils]: 10: Hoare triple {3501#(and (= (select |#length| dll_circular_create_~last~0.base) 8) (= dll_circular_create_~last~0.offset 0))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {3501#(and (= (select |#length| dll_circular_create_~last~0.base) 8) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:55:16,655 INFO L281 TraceCheckUtils]: 11: Hoare triple {3501#(and (= (select |#length| dll_circular_create_~last~0.base) 8) (= dll_circular_create_~last~0.offset 0))} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {3502#(and (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} is VALID [2021-09-13 23:55:16,656 INFO L281 TraceCheckUtils]: 12: Hoare triple {3502#(and (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {3502#(and (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} is VALID [2021-09-13 23:55:16,656 INFO L281 TraceCheckUtils]: 13: Hoare triple {3502#(and (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {3502#(and (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} is VALID [2021-09-13 23:55:16,657 INFO L281 TraceCheckUtils]: 14: Hoare triple {3502#(and (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {3502#(and (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} is VALID [2021-09-13 23:55:16,658 INFO L281 TraceCheckUtils]: 15: Hoare triple {3502#(and (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} assume !(4 + (4 + ~head~0.offset) <= #length[~head~0.base] && 0 <= 4 + ~head~0.offset); {3497#false} is VALID [2021-09-13 23:55:16,658 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:55:16,658 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 23:55:16,658 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [583154825] [2021-09-13 23:55:16,659 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [583154825] provided 1 perfect and 0 imperfect interpolant sequences [2021-09-13 23:55:16,659 INFO L186 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2021-09-13 23:55:16,659 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2021-09-13 23:55:16,659 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1104753881] [2021-09-13 23:55:16,660 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 3.0) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 16 [2021-09-13 23:55:16,660 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:55:16,660 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 3.0) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:16,677 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:16,677 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2021-09-13 23:55:16,678 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 23:55:16,678 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2021-09-13 23:55:16,680 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2021-09-13 23:55:16,680 INFO L87 Difference]: Start difference. First operand 135 states and 141 transitions. Second operand has 5 states, 4 states have (on average 3.0) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:17,103 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:17,104 INFO L93 Difference]: Finished difference Result 136 states and 141 transitions. [2021-09-13 23:55:17,104 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2021-09-13 23:55:17,104 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 3.0) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 16 [2021-09-13 23:55:17,106 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:55:17,106 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 3.0) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:17,109 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 142 transitions. [2021-09-13 23:55:17,110 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 3.0) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:17,117 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 142 transitions. [2021-09-13 23:55:17,117 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 142 transitions. [2021-09-13 23:55:17,208 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 142 edges. 142 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:17,210 INFO L225 Difference]: With dead ends: 136 [2021-09-13 23:55:17,210 INFO L226 Difference]: Without dead ends: 136 [2021-09-13 23:55:17,210 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 24.60ms TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2021-09-13 23:55:17,213 INFO L928 BasicCegarLoop]: 7 mSDtfsCounter, 48 mSDsluCounter, 256 mSDsCounter, 0 mSdLazyCounter, 470 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 198.08ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 48 SdHoareTripleChecker+Valid, 21 SdHoareTripleChecker+Invalid, 475 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 1.92ms SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 470 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 199.84ms IncrementalHoareTripleChecker+Time [2021-09-13 23:55:17,213 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [48 Valid, 21 Invalid, 475 Unknown, 0 Unchecked, 1.92ms Time], IncrementalHoareTripleChecker [5 Valid, 470 Invalid, 0 Unknown, 0 Unchecked, 199.84ms Time] [2021-09-13 23:55:17,214 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 136 states. [2021-09-13 23:55:17,218 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 136 to 135. [2021-09-13 23:55:17,219 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:55:17,219 INFO L82 GeneralOperation]: Start isEquivalent. First operand 136 states. Second operand has 135 states, 77 states have (on average 1.7272727272727273) internal successors, (133), 127 states have internal predecessors, (133), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:17,219 INFO L74 IsIncluded]: Start isIncluded. First operand 136 states. Second operand has 135 states, 77 states have (on average 1.7272727272727273) internal successors, (133), 127 states have internal predecessors, (133), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:17,220 INFO L87 Difference]: Start difference. First operand 136 states. Second operand has 135 states, 77 states have (on average 1.7272727272727273) internal successors, (133), 127 states have internal predecessors, (133), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:17,222 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:17,222 INFO L93 Difference]: Finished difference Result 136 states and 141 transitions. [2021-09-13 23:55:17,222 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 141 transitions. [2021-09-13 23:55:17,223 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:17,223 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:17,223 INFO L74 IsIncluded]: Start isIncluded. First operand has 135 states, 77 states have (on average 1.7272727272727273) internal successors, (133), 127 states have internal predecessors, (133), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 136 states. [2021-09-13 23:55:17,224 INFO L87 Difference]: Start difference. First operand has 135 states, 77 states have (on average 1.7272727272727273) internal successors, (133), 127 states have internal predecessors, (133), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 136 states. [2021-09-13 23:55:17,226 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:17,226 INFO L93 Difference]: Finished difference Result 136 states and 141 transitions. [2021-09-13 23:55:17,226 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 141 transitions. [2021-09-13 23:55:17,229 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:17,229 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:17,229 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:55:17,229 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:55:17,230 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 135 states, 77 states have (on average 1.7272727272727273) internal successors, (133), 127 states have internal predecessors, (133), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:17,233 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 135 states to 135 states and 140 transitions. [2021-09-13 23:55:17,233 INFO L78 Accepts]: Start accepts. Automaton has 135 states and 140 transitions. Word has length 16 [2021-09-13 23:55:17,234 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:55:17,234 INFO L470 AbstractCegarLoop]: Abstraction has 135 states and 140 transitions. [2021-09-13 23:55:17,234 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 3.0) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:17,234 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 140 transitions. [2021-09-13 23:55:17,234 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2021-09-13 23:55:17,234 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:55:17,235 INFO L513 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 23:55:17,235 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2021-09-13 23:55:17,235 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting dll_circular_createErr10REQUIRES_VIOLATION === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:55:17,235 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:55:17,235 INFO L82 PathProgramCache]: Analyzing trace with hash -901390365, now seen corresponding path program 1 times [2021-09-13 23:55:17,235 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 23:55:17,236 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [707086644] [2021-09-13 23:55:17,236 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:55:17,236 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 23:55:17,243 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:17,264 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2021-09-13 23:55:17,265 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:17,267 INFO L281 TraceCheckUtils]: 0: Hoare triple {4058#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {4051#true} is VALID [2021-09-13 23:55:17,267 INFO L281 TraceCheckUtils]: 1: Hoare triple {4051#true} assume true; {4051#true} is VALID [2021-09-13 23:55:17,267 INFO L276 TraceCheckUtils]: 2: Hoare quadruple {4051#true} {4051#true} #201#return; {4051#true} is VALID [2021-09-13 23:55:17,268 INFO L264 TraceCheckUtils]: 0: Hoare triple {4051#true} call ULTIMATE.init(); {4058#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2021-09-13 23:55:17,268 INFO L281 TraceCheckUtils]: 1: Hoare triple {4058#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {4051#true} is VALID [2021-09-13 23:55:17,268 INFO L281 TraceCheckUtils]: 2: Hoare triple {4051#true} assume true; {4051#true} is VALID [2021-09-13 23:55:17,268 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {4051#true} {4051#true} #201#return; {4051#true} is VALID [2021-09-13 23:55:17,269 INFO L264 TraceCheckUtils]: 4: Hoare triple {4051#true} call #t~ret13 := main(); {4051#true} is VALID [2021-09-13 23:55:17,269 INFO L281 TraceCheckUtils]: 5: Hoare triple {4051#true} ~len~0 := 3; {4051#true} is VALID [2021-09-13 23:55:17,269 INFO L264 TraceCheckUtils]: 6: Hoare triple {4051#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {4051#true} is VALID [2021-09-13 23:55:17,269 INFO L281 TraceCheckUtils]: 7: Hoare triple {4051#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {4051#true} is VALID [2021-09-13 23:55:17,269 INFO L281 TraceCheckUtils]: 8: Hoare triple {4051#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {4051#true} is VALID [2021-09-13 23:55:17,269 INFO L281 TraceCheckUtils]: 9: Hoare triple {4051#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {4051#true} is VALID [2021-09-13 23:55:17,269 INFO L281 TraceCheckUtils]: 10: Hoare triple {4051#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {4051#true} is VALID [2021-09-13 23:55:17,270 INFO L281 TraceCheckUtils]: 11: Hoare triple {4051#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {4051#true} is VALID [2021-09-13 23:55:17,270 INFO L281 TraceCheckUtils]: 12: Hoare triple {4051#true} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {4051#true} is VALID [2021-09-13 23:55:17,270 INFO L281 TraceCheckUtils]: 13: Hoare triple {4051#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {4051#true} is VALID [2021-09-13 23:55:17,270 INFO L281 TraceCheckUtils]: 14: Hoare triple {4051#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {4056#(= 1 (select |#valid| dll_circular_create_~new_head~0.base))} is VALID [2021-09-13 23:55:17,271 INFO L281 TraceCheckUtils]: 15: Hoare triple {4056#(= 1 (select |#valid| dll_circular_create_~new_head~0.base))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {4056#(= 1 (select |#valid| dll_circular_create_~new_head~0.base))} is VALID [2021-09-13 23:55:17,271 INFO L281 TraceCheckUtils]: 16: Hoare triple {4056#(= 1 (select |#valid| dll_circular_create_~new_head~0.base))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {4057#(= (select |#valid| dll_circular_create_~head~0.base) 1)} is VALID [2021-09-13 23:55:17,271 INFO L281 TraceCheckUtils]: 17: Hoare triple {4057#(= (select |#valid| dll_circular_create_~head~0.base) 1)} assume !(~len > 1); {4057#(= (select |#valid| dll_circular_create_~head~0.base) 1)} is VALID [2021-09-13 23:55:17,272 INFO L281 TraceCheckUtils]: 18: Hoare triple {4057#(= (select |#valid| dll_circular_create_~head~0.base) 1)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {4057#(= (select |#valid| dll_circular_create_~head~0.base) 1)} is VALID [2021-09-13 23:55:17,272 INFO L281 TraceCheckUtils]: 19: Hoare triple {4057#(= (select |#valid| dll_circular_create_~head~0.base) 1)} assume !(1 == #valid[~head~0.base]); {4052#false} is VALID [2021-09-13 23:55:17,272 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:55:17,272 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 23:55:17,273 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [707086644] [2021-09-13 23:55:17,273 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [707086644] provided 1 perfect and 0 imperfect interpolant sequences [2021-09-13 23:55:17,273 INFO L186 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2021-09-13 23:55:17,273 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2021-09-13 23:55:17,273 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1939275607] [2021-09-13 23:55:17,273 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 20 [2021-09-13 23:55:17,274 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:55:17,274 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:17,283 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:17,284 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2021-09-13 23:55:17,284 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 23:55:17,284 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2021-09-13 23:55:17,284 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2021-09-13 23:55:17,284 INFO L87 Difference]: Start difference. First operand 135 states and 140 transitions. Second operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:17,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:17,771 INFO L93 Difference]: Finished difference Result 133 states and 138 transitions. [2021-09-13 23:55:17,771 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2021-09-13 23:55:17,772 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 20 [2021-09-13 23:55:17,772 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:55:17,772 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:17,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 140 transitions. [2021-09-13 23:55:17,774 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:17,775 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 140 transitions. [2021-09-13 23:55:17,775 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 140 transitions. [2021-09-13 23:55:17,857 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 140 edges. 140 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:17,859 INFO L225 Difference]: With dead ends: 133 [2021-09-13 23:55:17,859 INFO L226 Difference]: Without dead ends: 133 [2021-09-13 23:55:17,859 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 15.30ms TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2021-09-13 23:55:17,860 INFO L928 BasicCegarLoop]: 7 mSDtfsCounter, 44 mSDsluCounter, 208 mSDsCounter, 0 mSdLazyCounter, 471 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 230.58ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 19 SdHoareTripleChecker+Invalid, 479 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 1.43ms SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 471 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 232.17ms IncrementalHoareTripleChecker+Time [2021-09-13 23:55:17,860 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [44 Valid, 19 Invalid, 479 Unknown, 0 Unchecked, 1.43ms Time], IncrementalHoareTripleChecker [8 Valid, 471 Invalid, 0 Unknown, 0 Unchecked, 232.17ms Time] [2021-09-13 23:55:17,860 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 133 states. [2021-09-13 23:55:17,862 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 133 to 133. [2021-09-13 23:55:17,862 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:55:17,863 INFO L82 GeneralOperation]: Start isEquivalent. First operand 133 states. Second operand has 133 states, 77 states have (on average 1.7012987012987013) internal successors, (131), 125 states have internal predecessors, (131), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:17,863 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand has 133 states, 77 states have (on average 1.7012987012987013) internal successors, (131), 125 states have internal predecessors, (131), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:17,863 INFO L87 Difference]: Start difference. First operand 133 states. Second operand has 133 states, 77 states have (on average 1.7012987012987013) internal successors, (131), 125 states have internal predecessors, (131), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:17,866 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:17,866 INFO L93 Difference]: Finished difference Result 133 states and 138 transitions. [2021-09-13 23:55:17,866 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 138 transitions. [2021-09-13 23:55:17,866 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:17,866 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:17,867 INFO L74 IsIncluded]: Start isIncluded. First operand has 133 states, 77 states have (on average 1.7012987012987013) internal successors, (131), 125 states have internal predecessors, (131), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 133 states. [2021-09-13 23:55:17,867 INFO L87 Difference]: Start difference. First operand has 133 states, 77 states have (on average 1.7012987012987013) internal successors, (131), 125 states have internal predecessors, (131), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 133 states. [2021-09-13 23:55:17,869 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:17,869 INFO L93 Difference]: Finished difference Result 133 states and 138 transitions. [2021-09-13 23:55:17,870 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 138 transitions. [2021-09-13 23:55:17,870 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:17,870 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:17,870 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:55:17,870 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:55:17,871 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 133 states, 77 states have (on average 1.7012987012987013) internal successors, (131), 125 states have internal predecessors, (131), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:17,873 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 138 transitions. [2021-09-13 23:55:17,873 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 138 transitions. Word has length 20 [2021-09-13 23:55:17,873 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:55:17,874 INFO L470 AbstractCegarLoop]: Abstraction has 133 states and 138 transitions. [2021-09-13 23:55:17,874 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 1 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:17,874 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 138 transitions. [2021-09-13 23:55:17,874 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2021-09-13 23:55:17,874 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:55:17,874 INFO L513 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 23:55:17,875 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2021-09-13 23:55:17,875 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting dll_circular_createErr11REQUIRES_VIOLATION === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:55:17,875 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:55:17,875 INFO L82 PathProgramCache]: Analyzing trace with hash -901390364, now seen corresponding path program 1 times [2021-09-13 23:55:17,875 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 23:55:17,876 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1088728851] [2021-09-13 23:55:17,876 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:55:17,876 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 23:55:17,884 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:17,918 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2021-09-13 23:55:17,919 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:17,922 INFO L281 TraceCheckUtils]: 0: Hoare triple {4605#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {4596#true} is VALID [2021-09-13 23:55:17,922 INFO L281 TraceCheckUtils]: 1: Hoare triple {4596#true} assume true; {4596#true} is VALID [2021-09-13 23:55:17,922 INFO L276 TraceCheckUtils]: 2: Hoare quadruple {4596#true} {4596#true} #201#return; {4596#true} is VALID [2021-09-13 23:55:17,923 INFO L264 TraceCheckUtils]: 0: Hoare triple {4596#true} call ULTIMATE.init(); {4605#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2021-09-13 23:55:17,923 INFO L281 TraceCheckUtils]: 1: Hoare triple {4605#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {4596#true} is VALID [2021-09-13 23:55:17,923 INFO L281 TraceCheckUtils]: 2: Hoare triple {4596#true} assume true; {4596#true} is VALID [2021-09-13 23:55:17,923 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {4596#true} {4596#true} #201#return; {4596#true} is VALID [2021-09-13 23:55:17,923 INFO L264 TraceCheckUtils]: 4: Hoare triple {4596#true} call #t~ret13 := main(); {4596#true} is VALID [2021-09-13 23:55:17,924 INFO L281 TraceCheckUtils]: 5: Hoare triple {4596#true} ~len~0 := 3; {4601#(<= 3 main_~len~0)} is VALID [2021-09-13 23:55:17,924 INFO L264 TraceCheckUtils]: 6: Hoare triple {4601#(<= 3 main_~len~0)} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {4602#(<= 3 |dll_circular_create_#in~len|)} is VALID [2021-09-13 23:55:17,925 INFO L281 TraceCheckUtils]: 7: Hoare triple {4602#(<= 3 |dll_circular_create_#in~len|)} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {4603#(<= 3 dll_circular_create_~len)} is VALID [2021-09-13 23:55:17,925 INFO L281 TraceCheckUtils]: 8: Hoare triple {4603#(<= 3 dll_circular_create_~len)} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {4603#(<= 3 dll_circular_create_~len)} is VALID [2021-09-13 23:55:17,925 INFO L281 TraceCheckUtils]: 9: Hoare triple {4603#(<= 3 dll_circular_create_~len)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {4603#(<= 3 dll_circular_create_~len)} is VALID [2021-09-13 23:55:17,926 INFO L281 TraceCheckUtils]: 10: Hoare triple {4603#(<= 3 dll_circular_create_~len)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {4603#(<= 3 dll_circular_create_~len)} is VALID [2021-09-13 23:55:17,926 INFO L281 TraceCheckUtils]: 11: Hoare triple {4603#(<= 3 dll_circular_create_~len)} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {4603#(<= 3 dll_circular_create_~len)} is VALID [2021-09-13 23:55:17,926 INFO L281 TraceCheckUtils]: 12: Hoare triple {4603#(<= 3 dll_circular_create_~len)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {4603#(<= 3 dll_circular_create_~len)} is VALID [2021-09-13 23:55:17,927 INFO L281 TraceCheckUtils]: 13: Hoare triple {4603#(<= 3 dll_circular_create_~len)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {4603#(<= 3 dll_circular_create_~len)} is VALID [2021-09-13 23:55:17,927 INFO L281 TraceCheckUtils]: 14: Hoare triple {4603#(<= 3 dll_circular_create_~len)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {4603#(<= 3 dll_circular_create_~len)} is VALID [2021-09-13 23:55:17,927 INFO L281 TraceCheckUtils]: 15: Hoare triple {4603#(<= 3 dll_circular_create_~len)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {4603#(<= 3 dll_circular_create_~len)} is VALID [2021-09-13 23:55:17,928 INFO L281 TraceCheckUtils]: 16: Hoare triple {4603#(<= 3 dll_circular_create_~len)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {4604#(<= 2 dll_circular_create_~len)} is VALID [2021-09-13 23:55:17,928 INFO L281 TraceCheckUtils]: 17: Hoare triple {4604#(<= 2 dll_circular_create_~len)} assume !(~len > 1); {4597#false} is VALID [2021-09-13 23:55:17,928 INFO L281 TraceCheckUtils]: 18: Hoare triple {4597#false} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {4597#false} is VALID [2021-09-13 23:55:17,928 INFO L281 TraceCheckUtils]: 19: Hoare triple {4597#false} assume !(4 + (4 + ~head~0.offset) <= #length[~head~0.base] && 0 <= 4 + ~head~0.offset); {4597#false} is VALID [2021-09-13 23:55:17,929 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:55:17,929 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 23:55:17,929 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1088728851] [2021-09-13 23:55:17,929 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1088728851] provided 0 perfect and 1 imperfect interpolant sequences [2021-09-13 23:55:17,929 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1130467886] [2021-09-13 23:55:17,929 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:55:17,929 INFO L170 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 23:55:17,930 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-09-13 23:55:17,931 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) [2021-09-13 23:55:17,941 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2021-09-13 23:55:18,020 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:18,021 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 5 conjunts are in the unsatisfiable core [2021-09-13 23:55:18,035 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:18,039 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 23:55:18,152 INFO L264 TraceCheckUtils]: 0: Hoare triple {4596#true} call ULTIMATE.init(); {4596#true} is VALID [2021-09-13 23:55:18,153 INFO L281 TraceCheckUtils]: 1: Hoare triple {4596#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {4596#true} is VALID [2021-09-13 23:55:18,153 INFO L281 TraceCheckUtils]: 2: Hoare triple {4596#true} assume true; {4596#true} is VALID [2021-09-13 23:55:18,153 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {4596#true} {4596#true} #201#return; {4596#true} is VALID [2021-09-13 23:55:18,153 INFO L264 TraceCheckUtils]: 4: Hoare triple {4596#true} call #t~ret13 := main(); {4596#true} is VALID [2021-09-13 23:55:18,153 INFO L281 TraceCheckUtils]: 5: Hoare triple {4596#true} ~len~0 := 3; {4601#(<= 3 main_~len~0)} is VALID [2021-09-13 23:55:18,154 INFO L264 TraceCheckUtils]: 6: Hoare triple {4601#(<= 3 main_~len~0)} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {4602#(<= 3 |dll_circular_create_#in~len|)} is VALID [2021-09-13 23:55:18,155 INFO L281 TraceCheckUtils]: 7: Hoare triple {4602#(<= 3 |dll_circular_create_#in~len|)} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {4603#(<= 3 dll_circular_create_~len)} is VALID [2021-09-13 23:55:18,155 INFO L281 TraceCheckUtils]: 8: Hoare triple {4603#(<= 3 dll_circular_create_~len)} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {4603#(<= 3 dll_circular_create_~len)} is VALID [2021-09-13 23:55:18,156 INFO L281 TraceCheckUtils]: 9: Hoare triple {4603#(<= 3 dll_circular_create_~len)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {4603#(<= 3 dll_circular_create_~len)} is VALID [2021-09-13 23:55:18,156 INFO L281 TraceCheckUtils]: 10: Hoare triple {4603#(<= 3 dll_circular_create_~len)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {4603#(<= 3 dll_circular_create_~len)} is VALID [2021-09-13 23:55:18,157 INFO L281 TraceCheckUtils]: 11: Hoare triple {4603#(<= 3 dll_circular_create_~len)} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {4603#(<= 3 dll_circular_create_~len)} is VALID [2021-09-13 23:55:18,157 INFO L281 TraceCheckUtils]: 12: Hoare triple {4603#(<= 3 dll_circular_create_~len)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {4603#(<= 3 dll_circular_create_~len)} is VALID [2021-09-13 23:55:18,157 INFO L281 TraceCheckUtils]: 13: Hoare triple {4603#(<= 3 dll_circular_create_~len)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {4603#(<= 3 dll_circular_create_~len)} is VALID [2021-09-13 23:55:18,158 INFO L281 TraceCheckUtils]: 14: Hoare triple {4603#(<= 3 dll_circular_create_~len)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {4603#(<= 3 dll_circular_create_~len)} is VALID [2021-09-13 23:55:18,158 INFO L281 TraceCheckUtils]: 15: Hoare triple {4603#(<= 3 dll_circular_create_~len)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {4603#(<= 3 dll_circular_create_~len)} is VALID [2021-09-13 23:55:18,158 INFO L281 TraceCheckUtils]: 16: Hoare triple {4603#(<= 3 dll_circular_create_~len)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {4604#(<= 2 dll_circular_create_~len)} is VALID [2021-09-13 23:55:18,159 INFO L281 TraceCheckUtils]: 17: Hoare triple {4604#(<= 2 dll_circular_create_~len)} assume !(~len > 1); {4597#false} is VALID [2021-09-13 23:55:18,159 INFO L281 TraceCheckUtils]: 18: Hoare triple {4597#false} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {4597#false} is VALID [2021-09-13 23:55:18,159 INFO L281 TraceCheckUtils]: 19: Hoare triple {4597#false} assume !(4 + (4 + ~head~0.offset) <= #length[~head~0.base] && 0 <= 4 + ~head~0.offset); {4597#false} is VALID [2021-09-13 23:55:18,159 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:55:18,160 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 23:55:18,309 INFO L281 TraceCheckUtils]: 19: Hoare triple {4597#false} assume !(4 + (4 + ~head~0.offset) <= #length[~head~0.base] && 0 <= 4 + ~head~0.offset); {4597#false} is VALID [2021-09-13 23:55:18,309 INFO L281 TraceCheckUtils]: 18: Hoare triple {4597#false} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {4597#false} is VALID [2021-09-13 23:55:18,311 INFO L281 TraceCheckUtils]: 17: Hoare triple {4604#(<= 2 dll_circular_create_~len)} assume !(~len > 1); {4597#false} is VALID [2021-09-13 23:55:18,312 INFO L281 TraceCheckUtils]: 16: Hoare triple {4603#(<= 3 dll_circular_create_~len)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {4604#(<= 2 dll_circular_create_~len)} is VALID [2021-09-13 23:55:18,312 INFO L281 TraceCheckUtils]: 15: Hoare triple {4603#(<= 3 dll_circular_create_~len)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {4603#(<= 3 dll_circular_create_~len)} is VALID [2021-09-13 23:55:18,312 INFO L281 TraceCheckUtils]: 14: Hoare triple {4603#(<= 3 dll_circular_create_~len)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {4603#(<= 3 dll_circular_create_~len)} is VALID [2021-09-13 23:55:18,313 INFO L281 TraceCheckUtils]: 13: Hoare triple {4603#(<= 3 dll_circular_create_~len)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {4603#(<= 3 dll_circular_create_~len)} is VALID [2021-09-13 23:55:18,313 INFO L281 TraceCheckUtils]: 12: Hoare triple {4603#(<= 3 dll_circular_create_~len)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {4603#(<= 3 dll_circular_create_~len)} is VALID [2021-09-13 23:55:18,313 INFO L281 TraceCheckUtils]: 11: Hoare triple {4603#(<= 3 dll_circular_create_~len)} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {4603#(<= 3 dll_circular_create_~len)} is VALID [2021-09-13 23:55:18,314 INFO L281 TraceCheckUtils]: 10: Hoare triple {4603#(<= 3 dll_circular_create_~len)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {4603#(<= 3 dll_circular_create_~len)} is VALID [2021-09-13 23:55:18,314 INFO L281 TraceCheckUtils]: 9: Hoare triple {4603#(<= 3 dll_circular_create_~len)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {4603#(<= 3 dll_circular_create_~len)} is VALID [2021-09-13 23:55:18,314 INFO L281 TraceCheckUtils]: 8: Hoare triple {4603#(<= 3 dll_circular_create_~len)} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {4603#(<= 3 dll_circular_create_~len)} is VALID [2021-09-13 23:55:18,315 INFO L281 TraceCheckUtils]: 7: Hoare triple {4602#(<= 3 |dll_circular_create_#in~len|)} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {4603#(<= 3 dll_circular_create_~len)} is VALID [2021-09-13 23:55:18,315 INFO L264 TraceCheckUtils]: 6: Hoare triple {4601#(<= 3 main_~len~0)} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {4602#(<= 3 |dll_circular_create_#in~len|)} is VALID [2021-09-13 23:55:18,316 INFO L281 TraceCheckUtils]: 5: Hoare triple {4596#true} ~len~0 := 3; {4601#(<= 3 main_~len~0)} is VALID [2021-09-13 23:55:18,316 INFO L264 TraceCheckUtils]: 4: Hoare triple {4596#true} call #t~ret13 := main(); {4596#true} is VALID [2021-09-13 23:55:18,316 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {4596#true} {4596#true} #201#return; {4596#true} is VALID [2021-09-13 23:55:18,316 INFO L281 TraceCheckUtils]: 2: Hoare triple {4596#true} assume true; {4596#true} is VALID [2021-09-13 23:55:18,316 INFO L281 TraceCheckUtils]: 1: Hoare triple {4596#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {4596#true} is VALID [2021-09-13 23:55:18,316 INFO L264 TraceCheckUtils]: 0: Hoare triple {4596#true} call ULTIMATE.init(); {4596#true} is VALID [2021-09-13 23:55:18,317 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:55:18,317 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1130467886] provided 0 perfect and 2 imperfect interpolant sequences [2021-09-13 23:55:18,317 INFO L186 FreeRefinementEngine]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2021-09-13 23:55:18,317 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6, 6] total 7 [2021-09-13 23:55:18,317 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1346274413] [2021-09-13 23:55:18,318 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 20 [2021-09-13 23:55:18,318 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:55:18,318 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:18,330 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:18,330 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2021-09-13 23:55:18,330 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 23:55:18,331 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2021-09-13 23:55:18,331 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2021-09-13 23:55:18,331 INFO L87 Difference]: Start difference. First operand 133 states and 138 transitions. Second operand has 7 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:19,159 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:19,160 INFO L93 Difference]: Finished difference Result 135 states and 140 transitions. [2021-09-13 23:55:19,160 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2021-09-13 23:55:19,160 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 20 [2021-09-13 23:55:19,160 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:55:19,161 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:19,162 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 141 transitions. [2021-09-13 23:55:19,162 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:19,163 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 141 transitions. [2021-09-13 23:55:19,163 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 141 transitions. [2021-09-13 23:55:19,248 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 141 edges. 141 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:19,250 INFO L225 Difference]: With dead ends: 135 [2021-09-13 23:55:19,250 INFO L226 Difference]: Without dead ends: 135 [2021-09-13 23:55:19,250 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 41 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 66.29ms TimeCoverageRelationStatistics Valid=30, Invalid=80, Unknown=0, NotChecked=0, Total=110 [2021-09-13 23:55:19,251 INFO L928 BasicCegarLoop]: 6 mSDtfsCounter, 65 mSDsluCounter, 449 mSDsCounter, 0 mSdLazyCounter, 702 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 381.40ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 66 SdHoareTripleChecker+Valid, 30 SdHoareTripleChecker+Invalid, 711 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 2.17ms SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 702 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 383.76ms IncrementalHoareTripleChecker+Time [2021-09-13 23:55:19,251 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [66 Valid, 30 Invalid, 711 Unknown, 0 Unchecked, 2.17ms Time], IncrementalHoareTripleChecker [9 Valid, 702 Invalid, 0 Unknown, 0 Unchecked, 383.76ms Time] [2021-09-13 23:55:19,251 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 135 states. [2021-09-13 23:55:19,253 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 135 to 135. [2021-09-13 23:55:19,253 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:55:19,253 INFO L82 GeneralOperation]: Start isEquivalent. First operand 135 states. Second operand has 135 states, 79 states have (on average 1.6835443037974684) internal successors, (133), 127 states have internal predecessors, (133), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:19,253 INFO L74 IsIncluded]: Start isIncluded. First operand 135 states. Second operand has 135 states, 79 states have (on average 1.6835443037974684) internal successors, (133), 127 states have internal predecessors, (133), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:19,255 INFO L87 Difference]: Start difference. First operand 135 states. Second operand has 135 states, 79 states have (on average 1.6835443037974684) internal successors, (133), 127 states have internal predecessors, (133), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:19,267 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:19,267 INFO L93 Difference]: Finished difference Result 135 states and 140 transitions. [2021-09-13 23:55:19,267 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 140 transitions. [2021-09-13 23:55:19,267 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:19,267 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:19,268 INFO L74 IsIncluded]: Start isIncluded. First operand has 135 states, 79 states have (on average 1.6835443037974684) internal successors, (133), 127 states have internal predecessors, (133), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 135 states. [2021-09-13 23:55:19,268 INFO L87 Difference]: Start difference. First operand has 135 states, 79 states have (on average 1.6835443037974684) internal successors, (133), 127 states have internal predecessors, (133), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 135 states. [2021-09-13 23:55:19,270 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:19,270 INFO L93 Difference]: Finished difference Result 135 states and 140 transitions. [2021-09-13 23:55:19,270 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 140 transitions. [2021-09-13 23:55:19,270 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:19,270 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:19,270 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:55:19,270 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:55:19,271 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 135 states, 79 states have (on average 1.6835443037974684) internal successors, (133), 127 states have internal predecessors, (133), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:19,272 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 135 states to 135 states and 140 transitions. [2021-09-13 23:55:19,272 INFO L78 Accepts]: Start accepts. Automaton has 135 states and 140 transitions. Word has length 20 [2021-09-13 23:55:19,273 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:55:19,274 INFO L470 AbstractCegarLoop]: Abstraction has 135 states and 140 transitions. [2021-09-13 23:55:19,274 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:19,274 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 140 transitions. [2021-09-13 23:55:19,274 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2021-09-13 23:55:19,274 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:55:19,274 INFO L513 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 23:55:19,308 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2021-09-13 23:55:19,491 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 23:55:19,493 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting dll_circular_createErr7REQUIRES_VIOLATION === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:55:19,494 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:55:19,494 INFO L82 PathProgramCache]: Analyzing trace with hash 2121717531, now seen corresponding path program 1 times [2021-09-13 23:55:19,494 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 23:55:19,494 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1019063504] [2021-09-13 23:55:19,494 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:55:19,494 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 23:55:19,524 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:19,574 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2021-09-13 23:55:19,576 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:19,581 INFO L281 TraceCheckUtils]: 0: Hoare triple {5280#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {5273#true} is VALID [2021-09-13 23:55:19,582 INFO L281 TraceCheckUtils]: 1: Hoare triple {5273#true} assume true; {5273#true} is VALID [2021-09-13 23:55:19,582 INFO L276 TraceCheckUtils]: 2: Hoare quadruple {5273#true} {5273#true} #201#return; {5273#true} is VALID [2021-09-13 23:55:19,582 INFO L264 TraceCheckUtils]: 0: Hoare triple {5273#true} call ULTIMATE.init(); {5280#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2021-09-13 23:55:19,583 INFO L281 TraceCheckUtils]: 1: Hoare triple {5280#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {5273#true} is VALID [2021-09-13 23:55:19,583 INFO L281 TraceCheckUtils]: 2: Hoare triple {5273#true} assume true; {5273#true} is VALID [2021-09-13 23:55:19,583 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {5273#true} {5273#true} #201#return; {5273#true} is VALID [2021-09-13 23:55:19,583 INFO L264 TraceCheckUtils]: 4: Hoare triple {5273#true} call #t~ret13 := main(); {5273#true} is VALID [2021-09-13 23:55:19,583 INFO L281 TraceCheckUtils]: 5: Hoare triple {5273#true} ~len~0 := 3; {5273#true} is VALID [2021-09-13 23:55:19,583 INFO L264 TraceCheckUtils]: 6: Hoare triple {5273#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {5273#true} is VALID [2021-09-13 23:55:19,583 INFO L281 TraceCheckUtils]: 7: Hoare triple {5273#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {5273#true} is VALID [2021-09-13 23:55:19,584 INFO L281 TraceCheckUtils]: 8: Hoare triple {5273#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {5273#true} is VALID [2021-09-13 23:55:19,584 INFO L281 TraceCheckUtils]: 9: Hoare triple {5273#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {5273#true} is VALID [2021-09-13 23:55:19,584 INFO L281 TraceCheckUtils]: 10: Hoare triple {5273#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {5273#true} is VALID [2021-09-13 23:55:19,584 INFO L281 TraceCheckUtils]: 11: Hoare triple {5273#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {5273#true} is VALID [2021-09-13 23:55:19,585 INFO L281 TraceCheckUtils]: 12: Hoare triple {5273#true} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {5278#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8))} is VALID [2021-09-13 23:55:19,585 INFO L281 TraceCheckUtils]: 13: Hoare triple {5278#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {5278#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8))} is VALID [2021-09-13 23:55:19,586 INFO L281 TraceCheckUtils]: 14: Hoare triple {5278#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {5278#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8))} is VALID [2021-09-13 23:55:19,586 INFO L281 TraceCheckUtils]: 15: Hoare triple {5278#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {5278#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8))} is VALID [2021-09-13 23:55:19,587 INFO L281 TraceCheckUtils]: 16: Hoare triple {5278#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {5279#(and (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} is VALID [2021-09-13 23:55:19,587 INFO L281 TraceCheckUtils]: 17: Hoare triple {5279#(and (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {5279#(and (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} is VALID [2021-09-13 23:55:19,588 INFO L281 TraceCheckUtils]: 18: Hoare triple {5279#(and (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {5279#(and (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} is VALID [2021-09-13 23:55:19,588 INFO L281 TraceCheckUtils]: 19: Hoare triple {5279#(and (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {5279#(and (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} is VALID [2021-09-13 23:55:19,588 INFO L281 TraceCheckUtils]: 20: Hoare triple {5279#(and (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} assume !(4 + (4 + ~head~0.offset) <= #length[~head~0.base] && 0 <= 4 + ~head~0.offset); {5274#false} is VALID [2021-09-13 23:55:19,589 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:55:19,589 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 23:55:19,589 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1019063504] [2021-09-13 23:55:19,589 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1019063504] provided 0 perfect and 1 imperfect interpolant sequences [2021-09-13 23:55:19,589 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [92551808] [2021-09-13 23:55:19,589 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:55:19,589 INFO L170 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 23:55:19,590 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-09-13 23:55:19,609 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) [2021-09-13 23:55:19,668 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2021-09-13 23:55:19,713 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:19,714 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 12 conjunts are in the unsatisfiable core [2021-09-13 23:55:19,721 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:19,722 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 23:55:19,788 INFO L388 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 [2021-09-13 23:55:19,793 INFO L388 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 [2021-09-13 23:55:19,921 INFO L354 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2021-09-13 23:55:19,922 INFO L388 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 22 treesize of output 24 [2021-09-13 23:55:19,937 INFO L354 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2021-09-13 23:55:19,938 INFO L388 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 21 treesize of output 21 [2021-09-13 23:55:20,114 INFO L264 TraceCheckUtils]: 0: Hoare triple {5273#true} call ULTIMATE.init(); {5273#true} is VALID [2021-09-13 23:55:20,115 INFO L281 TraceCheckUtils]: 1: Hoare triple {5273#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {5273#true} is VALID [2021-09-13 23:55:20,115 INFO L281 TraceCheckUtils]: 2: Hoare triple {5273#true} assume true; {5273#true} is VALID [2021-09-13 23:55:20,115 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {5273#true} {5273#true} #201#return; {5273#true} is VALID [2021-09-13 23:55:20,115 INFO L264 TraceCheckUtils]: 4: Hoare triple {5273#true} call #t~ret13 := main(); {5273#true} is VALID [2021-09-13 23:55:20,115 INFO L281 TraceCheckUtils]: 5: Hoare triple {5273#true} ~len~0 := 3; {5273#true} is VALID [2021-09-13 23:55:20,115 INFO L264 TraceCheckUtils]: 6: Hoare triple {5273#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {5273#true} is VALID [2021-09-13 23:55:20,115 INFO L281 TraceCheckUtils]: 7: Hoare triple {5273#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {5273#true} is VALID [2021-09-13 23:55:20,116 INFO L281 TraceCheckUtils]: 8: Hoare triple {5273#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {5273#true} is VALID [2021-09-13 23:55:20,116 INFO L281 TraceCheckUtils]: 9: Hoare triple {5273#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {5273#true} is VALID [2021-09-13 23:55:20,116 INFO L281 TraceCheckUtils]: 10: Hoare triple {5273#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {5273#true} is VALID [2021-09-13 23:55:20,116 INFO L281 TraceCheckUtils]: 11: Hoare triple {5273#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {5273#true} is VALID [2021-09-13 23:55:20,117 INFO L281 TraceCheckUtils]: 12: Hoare triple {5273#true} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {5320#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:55:20,117 INFO L281 TraceCheckUtils]: 13: Hoare triple {5320#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {5320#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:55:20,118 INFO L281 TraceCheckUtils]: 14: Hoare triple {5320#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {5320#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:55:20,122 INFO L281 TraceCheckUtils]: 15: Hoare triple {5320#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {5320#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:55:20,123 INFO L281 TraceCheckUtils]: 16: Hoare triple {5320#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {5333#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} is VALID [2021-09-13 23:55:20,124 INFO L281 TraceCheckUtils]: 17: Hoare triple {5333#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {5337#(and (exists ((dll_circular_create_~new_head~0.base Int)) (and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= (select |#length| dll_circular_create_~new_head~0.base) 8))) (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} is VALID [2021-09-13 23:55:20,137 INFO L281 TraceCheckUtils]: 18: Hoare triple {5337#(and (exists ((dll_circular_create_~new_head~0.base Int)) (and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= (select |#length| dll_circular_create_~new_head~0.base) 8))) (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {5337#(and (exists ((dll_circular_create_~new_head~0.base Int)) (and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= (select |#length| dll_circular_create_~new_head~0.base) 8))) (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} is VALID [2021-09-13 23:55:20,138 INFO L281 TraceCheckUtils]: 19: Hoare triple {5337#(and (exists ((dll_circular_create_~new_head~0.base Int)) (and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= (select |#length| dll_circular_create_~new_head~0.base) 8))) (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {5337#(and (exists ((dll_circular_create_~new_head~0.base Int)) (and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= (select |#length| dll_circular_create_~new_head~0.base) 8))) (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} is VALID [2021-09-13 23:55:20,139 INFO L281 TraceCheckUtils]: 20: Hoare triple {5337#(and (exists ((dll_circular_create_~new_head~0.base Int)) (and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= (select |#length| dll_circular_create_~new_head~0.base) 8))) (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} assume !(4 + (4 + ~head~0.offset) <= #length[~head~0.base] && 0 <= 4 + ~head~0.offset); {5274#false} is VALID [2021-09-13 23:55:20,139 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:55:20,139 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 23:55:20,652 INFO L281 TraceCheckUtils]: 20: Hoare triple {5347#(and (<= (+ dll_circular_create_~head~0.offset 8) (select |#length| dll_circular_create_~head~0.base)) (<= 0 (+ dll_circular_create_~head~0.offset 4)))} assume !(4 + (4 + ~head~0.offset) <= #length[~head~0.base] && 0 <= 4 + ~head~0.offset); {5274#false} is VALID [2021-09-13 23:55:20,653 INFO L281 TraceCheckUtils]: 19: Hoare triple {5347#(and (<= (+ dll_circular_create_~head~0.offset 8) (select |#length| dll_circular_create_~head~0.base)) (<= 0 (+ dll_circular_create_~head~0.offset 4)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {5347#(and (<= (+ dll_circular_create_~head~0.offset 8) (select |#length| dll_circular_create_~head~0.base)) (<= 0 (+ dll_circular_create_~head~0.offset 4)))} is VALID [2021-09-13 23:55:20,654 INFO L281 TraceCheckUtils]: 18: Hoare triple {5347#(and (<= (+ dll_circular_create_~head~0.offset 8) (select |#length| dll_circular_create_~head~0.base)) (<= 0 (+ dll_circular_create_~head~0.offset 4)))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {5347#(and (<= (+ dll_circular_create_~head~0.offset 8) (select |#length| dll_circular_create_~head~0.base)) (<= 0 (+ dll_circular_create_~head~0.offset 4)))} is VALID [2021-09-13 23:55:20,655 INFO L281 TraceCheckUtils]: 17: Hoare triple {5357#(forall ((v_dll_circular_create_~new_head~0.base_10 Int)) (or (and (<= (+ dll_circular_create_~head~0.offset 8) (select (store |#length| v_dll_circular_create_~new_head~0.base_10 8) dll_circular_create_~head~0.base)) (<= 0 (+ dll_circular_create_~head~0.offset 4))) (not (= (select |#valid| v_dll_circular_create_~new_head~0.base_10) 0))))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {5347#(and (<= (+ dll_circular_create_~head~0.offset 8) (select |#length| dll_circular_create_~head~0.base)) (<= 0 (+ dll_circular_create_~head~0.offset 4)))} is VALID [2021-09-13 23:55:20,655 INFO L281 TraceCheckUtils]: 16: Hoare triple {5361#(forall ((v_dll_circular_create_~new_head~0.base_10 Int)) (or (not (= (select |#valid| v_dll_circular_create_~new_head~0.base_10) 0)) (and (<= (+ dll_circular_create_~new_head~0.offset 8) (select (store |#length| v_dll_circular_create_~new_head~0.base_10 8) dll_circular_create_~new_head~0.base)) (<= 0 (+ dll_circular_create_~new_head~0.offset 4)))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {5357#(forall ((v_dll_circular_create_~new_head~0.base_10 Int)) (or (and (<= (+ dll_circular_create_~head~0.offset 8) (select (store |#length| v_dll_circular_create_~new_head~0.base_10 8) dll_circular_create_~head~0.base)) (<= 0 (+ dll_circular_create_~head~0.offset 4))) (not (= (select |#valid| v_dll_circular_create_~new_head~0.base_10) 0))))} is VALID [2021-09-13 23:55:20,656 INFO L281 TraceCheckUtils]: 15: Hoare triple {5361#(forall ((v_dll_circular_create_~new_head~0.base_10 Int)) (or (not (= (select |#valid| v_dll_circular_create_~new_head~0.base_10) 0)) (and (<= (+ dll_circular_create_~new_head~0.offset 8) (select (store |#length| v_dll_circular_create_~new_head~0.base_10 8) dll_circular_create_~new_head~0.base)) (<= 0 (+ dll_circular_create_~new_head~0.offset 4)))))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {5361#(forall ((v_dll_circular_create_~new_head~0.base_10 Int)) (or (not (= (select |#valid| v_dll_circular_create_~new_head~0.base_10) 0)) (and (<= (+ dll_circular_create_~new_head~0.offset 8) (select (store |#length| v_dll_circular_create_~new_head~0.base_10 8) dll_circular_create_~new_head~0.base)) (<= 0 (+ dll_circular_create_~new_head~0.offset 4)))))} is VALID [2021-09-13 23:55:20,657 INFO L281 TraceCheckUtils]: 14: Hoare triple {5361#(forall ((v_dll_circular_create_~new_head~0.base_10 Int)) (or (not (= (select |#valid| v_dll_circular_create_~new_head~0.base_10) 0)) (and (<= (+ dll_circular_create_~new_head~0.offset 8) (select (store |#length| v_dll_circular_create_~new_head~0.base_10 8) dll_circular_create_~new_head~0.base)) (<= 0 (+ dll_circular_create_~new_head~0.offset 4)))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {5361#(forall ((v_dll_circular_create_~new_head~0.base_10 Int)) (or (not (= (select |#valid| v_dll_circular_create_~new_head~0.base_10) 0)) (and (<= (+ dll_circular_create_~new_head~0.offset 8) (select (store |#length| v_dll_circular_create_~new_head~0.base_10 8) dll_circular_create_~new_head~0.base)) (<= 0 (+ dll_circular_create_~new_head~0.offset 4)))))} is VALID [2021-09-13 23:55:20,657 INFO L281 TraceCheckUtils]: 13: Hoare triple {5361#(forall ((v_dll_circular_create_~new_head~0.base_10 Int)) (or (not (= (select |#valid| v_dll_circular_create_~new_head~0.base_10) 0)) (and (<= (+ dll_circular_create_~new_head~0.offset 8) (select (store |#length| v_dll_circular_create_~new_head~0.base_10 8) dll_circular_create_~new_head~0.base)) (<= 0 (+ dll_circular_create_~new_head~0.offset 4)))))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {5361#(forall ((v_dll_circular_create_~new_head~0.base_10 Int)) (or (not (= (select |#valid| v_dll_circular_create_~new_head~0.base_10) 0)) (and (<= (+ dll_circular_create_~new_head~0.offset 8) (select (store |#length| v_dll_circular_create_~new_head~0.base_10 8) dll_circular_create_~new_head~0.base)) (<= 0 (+ dll_circular_create_~new_head~0.offset 4)))))} is VALID [2021-09-13 23:55:20,660 INFO L281 TraceCheckUtils]: 12: Hoare triple {5273#true} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {5361#(forall ((v_dll_circular_create_~new_head~0.base_10 Int)) (or (not (= (select |#valid| v_dll_circular_create_~new_head~0.base_10) 0)) (and (<= (+ dll_circular_create_~new_head~0.offset 8) (select (store |#length| v_dll_circular_create_~new_head~0.base_10 8) dll_circular_create_~new_head~0.base)) (<= 0 (+ dll_circular_create_~new_head~0.offset 4)))))} is VALID [2021-09-13 23:55:20,660 INFO L281 TraceCheckUtils]: 11: Hoare triple {5273#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {5273#true} is VALID [2021-09-13 23:55:20,660 INFO L281 TraceCheckUtils]: 10: Hoare triple {5273#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {5273#true} is VALID [2021-09-13 23:55:20,660 INFO L281 TraceCheckUtils]: 9: Hoare triple {5273#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {5273#true} is VALID [2021-09-13 23:55:20,660 INFO L281 TraceCheckUtils]: 8: Hoare triple {5273#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {5273#true} is VALID [2021-09-13 23:55:20,660 INFO L281 TraceCheckUtils]: 7: Hoare triple {5273#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {5273#true} is VALID [2021-09-13 23:55:20,661 INFO L264 TraceCheckUtils]: 6: Hoare triple {5273#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {5273#true} is VALID [2021-09-13 23:55:20,661 INFO L281 TraceCheckUtils]: 5: Hoare triple {5273#true} ~len~0 := 3; {5273#true} is VALID [2021-09-13 23:55:20,661 INFO L264 TraceCheckUtils]: 4: Hoare triple {5273#true} call #t~ret13 := main(); {5273#true} is VALID [2021-09-13 23:55:20,661 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {5273#true} {5273#true} #201#return; {5273#true} is VALID [2021-09-13 23:55:20,661 INFO L281 TraceCheckUtils]: 2: Hoare triple {5273#true} assume true; {5273#true} is VALID [2021-09-13 23:55:20,661 INFO L281 TraceCheckUtils]: 1: Hoare triple {5273#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {5273#true} is VALID [2021-09-13 23:55:20,661 INFO L264 TraceCheckUtils]: 0: Hoare triple {5273#true} call ULTIMATE.init(); {5273#true} is VALID [2021-09-13 23:55:20,661 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:55:20,661 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleZ3 [92551808] provided 0 perfect and 2 imperfect interpolant sequences [2021-09-13 23:55:20,661 INFO L186 FreeRefinementEngine]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2021-09-13 23:55:20,661 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 10 [2021-09-13 23:55:20,662 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [789087307] [2021-09-13 23:55:20,662 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.6) internal successors, (36), 10 states have internal predecessors, (36), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 21 [2021-09-13 23:55:20,662 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:55:20,662 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 3.6) internal successors, (36), 10 states have internal predecessors, (36), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:20,698 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:20,699 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2021-09-13 23:55:20,699 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 23:55:20,699 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2021-09-13 23:55:20,699 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=80, Unknown=0, NotChecked=0, Total=110 [2021-09-13 23:55:20,699 INFO L87 Difference]: Start difference. First operand 135 states and 140 transitions. Second operand has 11 states, 10 states have (on average 3.6) internal successors, (36), 10 states have internal predecessors, (36), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:21,645 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:21,645 INFO L93 Difference]: Finished difference Result 133 states and 138 transitions. [2021-09-13 23:55:21,645 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2021-09-13 23:55:21,646 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.6) internal successors, (36), 10 states have internal predecessors, (36), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 21 [2021-09-13 23:55:21,646 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:55:21,646 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.6) internal successors, (36), 10 states have internal predecessors, (36), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:21,647 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 138 transitions. [2021-09-13 23:55:21,647 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.6) internal successors, (36), 10 states have internal predecessors, (36), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:21,648 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 138 transitions. [2021-09-13 23:55:21,648 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 138 transitions. [2021-09-13 23:55:21,762 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 138 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:21,764 INFO L225 Difference]: With dead ends: 133 [2021-09-13 23:55:21,764 INFO L226 Difference]: Without dead ends: 133 [2021-09-13 23:55:21,764 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 50 GetRequests, 38 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 145.56ms TimeCoverageRelationStatistics Valid=56, Invalid=126, Unknown=0, NotChecked=0, Total=182 [2021-09-13 23:55:21,765 INFO L928 BasicCegarLoop]: 7 mSDtfsCounter, 44 mSDsluCounter, 439 mSDsCounter, 0 mSdLazyCounter, 580 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 436.29ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 36 SdHoareTripleChecker+Invalid, 835 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 3.62ms SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 580 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 248 IncrementalHoareTripleChecker+Unchecked, 440.34ms IncrementalHoareTripleChecker+Time [2021-09-13 23:55:21,765 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [44 Valid, 36 Invalid, 835 Unknown, 0 Unchecked, 3.62ms Time], IncrementalHoareTripleChecker [7 Valid, 580 Invalid, 0 Unknown, 248 Unchecked, 440.34ms Time] [2021-09-13 23:55:21,765 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 133 states. [2021-09-13 23:55:21,767 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 133 to 133. [2021-09-13 23:55:21,767 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:55:21,767 INFO L82 GeneralOperation]: Start isEquivalent. First operand 133 states. Second operand has 133 states, 79 states have (on average 1.6582278481012658) internal successors, (131), 125 states have internal predecessors, (131), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:21,767 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand has 133 states, 79 states have (on average 1.6582278481012658) internal successors, (131), 125 states have internal predecessors, (131), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:21,767 INFO L87 Difference]: Start difference. First operand 133 states. Second operand has 133 states, 79 states have (on average 1.6582278481012658) internal successors, (131), 125 states have internal predecessors, (131), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:21,769 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:21,769 INFO L93 Difference]: Finished difference Result 133 states and 138 transitions. [2021-09-13 23:55:21,769 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 138 transitions. [2021-09-13 23:55:21,770 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:21,770 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:21,770 INFO L74 IsIncluded]: Start isIncluded. First operand has 133 states, 79 states have (on average 1.6582278481012658) internal successors, (131), 125 states have internal predecessors, (131), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 133 states. [2021-09-13 23:55:21,770 INFO L87 Difference]: Start difference. First operand has 133 states, 79 states have (on average 1.6582278481012658) internal successors, (131), 125 states have internal predecessors, (131), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 133 states. [2021-09-13 23:55:21,772 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:21,772 INFO L93 Difference]: Finished difference Result 133 states and 138 transitions. [2021-09-13 23:55:21,772 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 138 transitions. [2021-09-13 23:55:21,772 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:21,772 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:21,772 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:55:21,773 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:55:21,773 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 133 states, 79 states have (on average 1.6582278481012658) internal successors, (131), 125 states have internal predecessors, (131), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:21,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 138 transitions. [2021-09-13 23:55:21,775 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 138 transitions. Word has length 21 [2021-09-13 23:55:21,775 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:55:21,775 INFO L470 AbstractCegarLoop]: Abstraction has 133 states and 138 transitions. [2021-09-13 23:55:21,775 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 3.6) internal successors, (36), 10 states have internal predecessors, (36), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:55:21,775 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 138 transitions. [2021-09-13 23:55:21,776 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2021-09-13 23:55:21,776 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:55:21,776 INFO L513 BasicCegarLoop]: trace histogram [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] [2021-09-13 23:55:21,806 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2021-09-13 23:55:21,988 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,SelfDestructingSolverStorable9 [2021-09-13 23:55:21,989 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting _destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:55:21,990 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:55:21,990 INFO L82 PathProgramCache]: Analyzing trace with hash -1175479222, now seen corresponding path program 1 times [2021-09-13 23:55:21,990 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 23:55:21,990 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [718605015] [2021-09-13 23:55:21,990 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:55:21,990 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 23:55:21,999 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:22,038 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2021-09-13 23:55:22,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:22,041 INFO L281 TraceCheckUtils]: 0: Hoare triple {5980#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {5950#true} is VALID [2021-09-13 23:55:22,041 INFO L281 TraceCheckUtils]: 1: Hoare triple {5950#true} assume true; {5950#true} is VALID [2021-09-13 23:55:22,041 INFO L276 TraceCheckUtils]: 2: Hoare quadruple {5950#true} {5950#true} #201#return; {5950#true} is VALID [2021-09-13 23:55:22,051 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2021-09-13 23:55:22,072 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:22,126 INFO L281 TraceCheckUtils]: 0: Hoare triple {5981#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {5950#true} is VALID [2021-09-13 23:55:22,126 INFO L281 TraceCheckUtils]: 1: Hoare triple {5950#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {5950#true} is VALID [2021-09-13 23:55:22,126 INFO L281 TraceCheckUtils]: 2: Hoare triple {5950#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {5950#true} is VALID [2021-09-13 23:55:22,126 INFO L281 TraceCheckUtils]: 3: Hoare triple {5950#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {5950#true} is VALID [2021-09-13 23:55:22,127 INFO L281 TraceCheckUtils]: 4: Hoare triple {5950#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {5950#true} is VALID [2021-09-13 23:55:22,127 INFO L281 TraceCheckUtils]: 5: Hoare triple {5950#true} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {5950#true} is VALID [2021-09-13 23:55:22,127 INFO L281 TraceCheckUtils]: 6: Hoare triple {5950#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {5950#true} is VALID [2021-09-13 23:55:22,127 INFO L281 TraceCheckUtils]: 7: Hoare triple {5950#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {5950#true} is VALID [2021-09-13 23:55:22,127 INFO L281 TraceCheckUtils]: 8: Hoare triple {5950#true} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {5950#true} is VALID [2021-09-13 23:55:22,127 INFO L281 TraceCheckUtils]: 9: Hoare triple {5950#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {5950#true} is VALID [2021-09-13 23:55:22,127 INFO L281 TraceCheckUtils]: 10: Hoare triple {5950#true} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {5950#true} is VALID [2021-09-13 23:55:22,128 INFO L281 TraceCheckUtils]: 11: Hoare triple {5950#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {5950#true} is VALID [2021-09-13 23:55:22,128 INFO L281 TraceCheckUtils]: 12: Hoare triple {5950#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {5982#(= 1 (select |#valid| dll_circular_create_~new_head~0.base))} is VALID [2021-09-13 23:55:22,129 INFO L281 TraceCheckUtils]: 13: Hoare triple {5982#(= 1 (select |#valid| dll_circular_create_~new_head~0.base))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {5982#(= 1 (select |#valid| dll_circular_create_~new_head~0.base))} is VALID [2021-09-13 23:55:22,129 INFO L281 TraceCheckUtils]: 14: Hoare triple {5982#(= 1 (select |#valid| dll_circular_create_~new_head~0.base))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {5983#(= (select |#valid| dll_circular_create_~head~0.base) 1)} is VALID [2021-09-13 23:55:22,129 INFO L281 TraceCheckUtils]: 15: Hoare triple {5983#(= (select |#valid| dll_circular_create_~head~0.base) 1)} assume !(~len > 1); {5983#(= (select |#valid| dll_circular_create_~head~0.base) 1)} is VALID [2021-09-13 23:55:22,130 INFO L281 TraceCheckUtils]: 16: Hoare triple {5983#(= (select |#valid| dll_circular_create_~head~0.base) 1)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {5983#(= (select |#valid| dll_circular_create_~head~0.base) 1)} is VALID [2021-09-13 23:55:22,130 INFO L281 TraceCheckUtils]: 17: Hoare triple {5983#(= (select |#valid| dll_circular_create_~head~0.base) 1)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {5983#(= (select |#valid| dll_circular_create_~head~0.base) 1)} is VALID [2021-09-13 23:55:22,131 INFO L281 TraceCheckUtils]: 18: Hoare triple {5983#(= (select |#valid| dll_circular_create_~head~0.base) 1)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {5984#(= (select |#valid| |dll_circular_create_#res.base|) 1)} is VALID [2021-09-13 23:55:22,131 INFO L281 TraceCheckUtils]: 19: Hoare triple {5984#(= (select |#valid| |dll_circular_create_#res.base|) 1)} assume true; {5984#(= (select |#valid| |dll_circular_create_#res.base|) 1)} is VALID [2021-09-13 23:55:22,132 INFO L276 TraceCheckUtils]: 20: Hoare quadruple {5984#(= (select |#valid| |dll_circular_create_#res.base|) 1)} {5950#true} #197#return; {5976#(= (select |#valid| |main_#t~ret12.base|) 1)} is VALID [2021-09-13 23:55:22,133 INFO L264 TraceCheckUtils]: 0: Hoare triple {5950#true} call ULTIMATE.init(); {5980#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2021-09-13 23:55:22,133 INFO L281 TraceCheckUtils]: 1: Hoare triple {5980#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {5950#true} is VALID [2021-09-13 23:55:22,133 INFO L281 TraceCheckUtils]: 2: Hoare triple {5950#true} assume true; {5950#true} is VALID [2021-09-13 23:55:22,133 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {5950#true} {5950#true} #201#return; {5950#true} is VALID [2021-09-13 23:55:22,133 INFO L264 TraceCheckUtils]: 4: Hoare triple {5950#true} call #t~ret13 := main(); {5950#true} is VALID [2021-09-13 23:55:22,133 INFO L281 TraceCheckUtils]: 5: Hoare triple {5950#true} ~len~0 := 3; {5950#true} is VALID [2021-09-13 23:55:22,134 INFO L264 TraceCheckUtils]: 6: Hoare triple {5950#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {5981#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2021-09-13 23:55:22,134 INFO L281 TraceCheckUtils]: 7: Hoare triple {5981#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {5950#true} is VALID [2021-09-13 23:55:22,134 INFO L281 TraceCheckUtils]: 8: Hoare triple {5950#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {5950#true} is VALID [2021-09-13 23:55:22,134 INFO L281 TraceCheckUtils]: 9: Hoare triple {5950#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {5950#true} is VALID [2021-09-13 23:55:22,135 INFO L281 TraceCheckUtils]: 10: Hoare triple {5950#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {5950#true} is VALID [2021-09-13 23:55:22,135 INFO L281 TraceCheckUtils]: 11: Hoare triple {5950#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {5950#true} is VALID [2021-09-13 23:55:22,135 INFO L281 TraceCheckUtils]: 12: Hoare triple {5950#true} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {5950#true} is VALID [2021-09-13 23:55:22,135 INFO L281 TraceCheckUtils]: 13: Hoare triple {5950#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {5950#true} is VALID [2021-09-13 23:55:22,135 INFO L281 TraceCheckUtils]: 14: Hoare triple {5950#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {5950#true} is VALID [2021-09-13 23:55:22,135 INFO L281 TraceCheckUtils]: 15: Hoare triple {5950#true} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {5950#true} is VALID [2021-09-13 23:55:22,135 INFO L281 TraceCheckUtils]: 16: Hoare triple {5950#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {5950#true} is VALID [2021-09-13 23:55:22,135 INFO L281 TraceCheckUtils]: 17: Hoare triple {5950#true} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {5950#true} is VALID [2021-09-13 23:55:22,136 INFO L281 TraceCheckUtils]: 18: Hoare triple {5950#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {5950#true} is VALID [2021-09-13 23:55:22,136 INFO L281 TraceCheckUtils]: 19: Hoare triple {5950#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {5982#(= 1 (select |#valid| dll_circular_create_~new_head~0.base))} is VALID [2021-09-13 23:55:22,136 INFO L281 TraceCheckUtils]: 20: Hoare triple {5982#(= 1 (select |#valid| dll_circular_create_~new_head~0.base))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {5982#(= 1 (select |#valid| dll_circular_create_~new_head~0.base))} is VALID [2021-09-13 23:55:22,137 INFO L281 TraceCheckUtils]: 21: Hoare triple {5982#(= 1 (select |#valid| dll_circular_create_~new_head~0.base))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {5983#(= (select |#valid| dll_circular_create_~head~0.base) 1)} is VALID [2021-09-13 23:55:22,137 INFO L281 TraceCheckUtils]: 22: Hoare triple {5983#(= (select |#valid| dll_circular_create_~head~0.base) 1)} assume !(~len > 1); {5983#(= (select |#valid| dll_circular_create_~head~0.base) 1)} is VALID [2021-09-13 23:55:22,138 INFO L281 TraceCheckUtils]: 23: Hoare triple {5983#(= (select |#valid| dll_circular_create_~head~0.base) 1)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {5983#(= (select |#valid| dll_circular_create_~head~0.base) 1)} is VALID [2021-09-13 23:55:22,138 INFO L281 TraceCheckUtils]: 24: Hoare triple {5983#(= (select |#valid| dll_circular_create_~head~0.base) 1)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {5983#(= (select |#valid| dll_circular_create_~head~0.base) 1)} is VALID [2021-09-13 23:55:22,138 INFO L281 TraceCheckUtils]: 25: Hoare triple {5983#(= (select |#valid| dll_circular_create_~head~0.base) 1)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {5984#(= (select |#valid| |dll_circular_create_#res.base|) 1)} is VALID [2021-09-13 23:55:22,139 INFO L281 TraceCheckUtils]: 26: Hoare triple {5984#(= (select |#valid| |dll_circular_create_#res.base|) 1)} assume true; {5984#(= (select |#valid| |dll_circular_create_#res.base|) 1)} is VALID [2021-09-13 23:55:22,139 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {5984#(= (select |#valid| |dll_circular_create_#res.base|) 1)} {5950#true} #197#return; {5976#(= (select |#valid| |main_#t~ret12.base|) 1)} is VALID [2021-09-13 23:55:22,140 INFO L281 TraceCheckUtils]: 28: Hoare triple {5976#(= (select |#valid| |main_#t~ret12.base|) 1)} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {5977#(= (select |#valid| main_~head~1.base) 1)} is VALID [2021-09-13 23:55:22,141 INFO L264 TraceCheckUtils]: 29: Hoare triple {5977#(= (select |#valid| main_~head~1.base) 1)} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {5978#(= (select |#valid| |_destroy_in_nondeterministic_order_#in~head.base|) 1)} is VALID [2021-09-13 23:55:22,141 INFO L281 TraceCheckUtils]: 30: Hoare triple {5978#(= (select |#valid| |_destroy_in_nondeterministic_order_#in~head.base|) 1)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5979#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} is VALID [2021-09-13 23:55:22,141 INFO L281 TraceCheckUtils]: 31: Hoare triple {5979#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} assume !(1 == #valid[~head.base]); {5951#false} is VALID [2021-09-13 23:55:22,142 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2021-09-13 23:55:22,142 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 23:55:22,142 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [718605015] [2021-09-13 23:55:22,142 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [718605015] provided 1 perfect and 0 imperfect interpolant sequences [2021-09-13 23:55:22,142 INFO L186 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2021-09-13 23:55:22,142 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2021-09-13 23:55:22,142 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2115853594] [2021-09-13 23:55:22,143 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 7 states have internal predecessors, (24), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 32 [2021-09-13 23:55:22,143 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:55:22,143 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 11 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 7 states have internal predecessors, (24), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:55:22,180 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:22,180 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2021-09-13 23:55:22,180 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 23:55:22,181 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2021-09-13 23:55:22,181 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=91, Unknown=0, NotChecked=0, Total=110 [2021-09-13 23:55:22,181 INFO L87 Difference]: Start difference. First operand 133 states and 138 transitions. Second operand has 11 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 7 states have internal predecessors, (24), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:55:23,573 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:23,573 INFO L93 Difference]: Finished difference Result 130 states and 135 transitions. [2021-09-13 23:55:23,574 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2021-09-13 23:55:23,574 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 7 states have internal predecessors, (24), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 32 [2021-09-13 23:55:23,574 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:55:23,574 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 7 states have internal predecessors, (24), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:55:23,575 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 136 transitions. [2021-09-13 23:55:23,575 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 7 states have internal predecessors, (24), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:55:23,576 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 136 transitions. [2021-09-13 23:55:23,576 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 136 transitions. [2021-09-13 23:55:23,675 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 136 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:23,677 INFO L225 Difference]: With dead ends: 130 [2021-09-13 23:55:23,677 INFO L226 Difference]: Without dead ends: 130 [2021-09-13 23:55:23,677 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 133.79ms TimeCoverageRelationStatistics Valid=47, Invalid=193, Unknown=0, NotChecked=0, Total=240 [2021-09-13 23:55:23,677 INFO L928 BasicCegarLoop]: 7 mSDtfsCounter, 111 mSDsluCounter, 504 mSDsCounter, 0 mSdLazyCounter, 1152 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 659.16ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 111 SdHoareTripleChecker+Valid, 38 SdHoareTripleChecker+Invalid, 1164 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 5.05ms SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 1152 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 665.20ms IncrementalHoareTripleChecker+Time [2021-09-13 23:55:23,677 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [111 Valid, 38 Invalid, 1164 Unknown, 0 Unchecked, 5.05ms Time], IncrementalHoareTripleChecker [12 Valid, 1152 Invalid, 0 Unknown, 0 Unchecked, 665.20ms Time] [2021-09-13 23:55:23,678 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2021-09-13 23:55:23,679 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 130. [2021-09-13 23:55:23,679 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:55:23,680 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand has 130 states, 79 states have (on average 1.620253164556962) internal successors, (128), 122 states have internal predecessors, (128), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:23,681 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand has 130 states, 79 states have (on average 1.620253164556962) internal successors, (128), 122 states have internal predecessors, (128), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:23,681 INFO L87 Difference]: Start difference. First operand 130 states. Second operand has 130 states, 79 states have (on average 1.620253164556962) internal successors, (128), 122 states have internal predecessors, (128), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:23,684 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:23,684 INFO L93 Difference]: Finished difference Result 130 states and 135 transitions. [2021-09-13 23:55:23,684 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 135 transitions. [2021-09-13 23:55:23,684 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:23,684 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:23,685 INFO L74 IsIncluded]: Start isIncluded. First operand has 130 states, 79 states have (on average 1.620253164556962) internal successors, (128), 122 states have internal predecessors, (128), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 130 states. [2021-09-13 23:55:23,685 INFO L87 Difference]: Start difference. First operand has 130 states, 79 states have (on average 1.620253164556962) internal successors, (128), 122 states have internal predecessors, (128), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 130 states. [2021-09-13 23:55:23,686 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:23,687 INFO L93 Difference]: Finished difference Result 130 states and 135 transitions. [2021-09-13 23:55:23,687 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 135 transitions. [2021-09-13 23:55:23,687 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:23,687 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:23,687 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:55:23,687 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:55:23,688 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 130 states, 79 states have (on average 1.620253164556962) internal successors, (128), 122 states have internal predecessors, (128), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:23,689 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 130 states to 130 states and 135 transitions. [2021-09-13 23:55:23,689 INFO L78 Accepts]: Start accepts. Automaton has 130 states and 135 transitions. Word has length 32 [2021-09-13 23:55:23,689 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:55:23,689 INFO L470 AbstractCegarLoop]: Abstraction has 130 states and 135 transitions. [2021-09-13 23:55:23,689 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 7 states have internal predecessors, (24), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:55:23,690 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 135 transitions. [2021-09-13 23:55:23,691 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2021-09-13 23:55:23,691 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:55:23,692 INFO L513 BasicCegarLoop]: trace histogram [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] [2021-09-13 23:55:23,692 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2021-09-13 23:55:23,692 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:55:23,692 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:55:23,692 INFO L82 PathProgramCache]: Analyzing trace with hash -1175479221, now seen corresponding path program 1 times [2021-09-13 23:55:23,692 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 23:55:23,693 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1605081129] [2021-09-13 23:55:23,693 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:55:23,693 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 23:55:23,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:23,798 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2021-09-13 23:55:23,800 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:23,806 INFO L281 TraceCheckUtils]: 0: Hoare triple {6549#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {6519#true} is VALID [2021-09-13 23:55:23,806 INFO L281 TraceCheckUtils]: 1: Hoare triple {6519#true} assume true; {6519#true} is VALID [2021-09-13 23:55:23,806 INFO L276 TraceCheckUtils]: 2: Hoare quadruple {6519#true} {6519#true} #201#return; {6519#true} is VALID [2021-09-13 23:55:23,815 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2021-09-13 23:55:23,831 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:23,887 INFO L281 TraceCheckUtils]: 0: Hoare triple {6550#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {6519#true} is VALID [2021-09-13 23:55:23,888 INFO L281 TraceCheckUtils]: 1: Hoare triple {6519#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {6519#true} is VALID [2021-09-13 23:55:23,888 INFO L281 TraceCheckUtils]: 2: Hoare triple {6519#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {6519#true} is VALID [2021-09-13 23:55:23,888 INFO L281 TraceCheckUtils]: 3: Hoare triple {6519#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {6519#true} is VALID [2021-09-13 23:55:23,888 INFO L281 TraceCheckUtils]: 4: Hoare triple {6519#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {6519#true} is VALID [2021-09-13 23:55:23,888 INFO L281 TraceCheckUtils]: 5: Hoare triple {6519#true} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {6519#true} is VALID [2021-09-13 23:55:23,888 INFO L281 TraceCheckUtils]: 6: Hoare triple {6519#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {6519#true} is VALID [2021-09-13 23:55:23,889 INFO L281 TraceCheckUtils]: 7: Hoare triple {6519#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {6519#true} is VALID [2021-09-13 23:55:23,889 INFO L281 TraceCheckUtils]: 8: Hoare triple {6519#true} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {6519#true} is VALID [2021-09-13 23:55:23,889 INFO L281 TraceCheckUtils]: 9: Hoare triple {6519#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {6519#true} is VALID [2021-09-13 23:55:23,893 INFO L281 TraceCheckUtils]: 10: Hoare triple {6519#true} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {6551#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8))} is VALID [2021-09-13 23:55:23,894 INFO L281 TraceCheckUtils]: 11: Hoare triple {6551#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {6551#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8))} is VALID [2021-09-13 23:55:23,894 INFO L281 TraceCheckUtils]: 12: Hoare triple {6551#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {6551#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8))} is VALID [2021-09-13 23:55:23,895 INFO L281 TraceCheckUtils]: 13: Hoare triple {6551#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {6551#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8))} is VALID [2021-09-13 23:55:23,895 INFO L281 TraceCheckUtils]: 14: Hoare triple {6551#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {6552#(and (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} is VALID [2021-09-13 23:55:23,896 INFO L281 TraceCheckUtils]: 15: Hoare triple {6552#(and (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} assume !(~len > 1); {6552#(and (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} is VALID [2021-09-13 23:55:23,896 INFO L281 TraceCheckUtils]: 16: Hoare triple {6552#(and (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {6552#(and (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} is VALID [2021-09-13 23:55:23,897 INFO L281 TraceCheckUtils]: 17: Hoare triple {6552#(and (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {6552#(and (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} is VALID [2021-09-13 23:55:23,897 INFO L281 TraceCheckUtils]: 18: Hoare triple {6552#(and (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {6553#(and (= (select |#length| |dll_circular_create_#res.base|) 8) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:55:23,897 INFO L281 TraceCheckUtils]: 19: Hoare triple {6553#(and (= (select |#length| |dll_circular_create_#res.base|) 8) (= |dll_circular_create_#res.offset| 0))} assume true; {6553#(and (= (select |#length| |dll_circular_create_#res.base|) 8) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:55:23,898 INFO L276 TraceCheckUtils]: 20: Hoare quadruple {6553#(and (= (select |#length| |dll_circular_create_#res.base|) 8) (= |dll_circular_create_#res.offset| 0))} {6519#true} #197#return; {6545#(and (= |main_#t~ret12.offset| 0) (= (select |#length| |main_#t~ret12.base|) 8))} is VALID [2021-09-13 23:55:23,899 INFO L264 TraceCheckUtils]: 0: Hoare triple {6519#true} call ULTIMATE.init(); {6549#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2021-09-13 23:55:23,899 INFO L281 TraceCheckUtils]: 1: Hoare triple {6549#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {6519#true} is VALID [2021-09-13 23:55:23,900 INFO L281 TraceCheckUtils]: 2: Hoare triple {6519#true} assume true; {6519#true} is VALID [2021-09-13 23:55:23,900 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {6519#true} {6519#true} #201#return; {6519#true} is VALID [2021-09-13 23:55:23,900 INFO L264 TraceCheckUtils]: 4: Hoare triple {6519#true} call #t~ret13 := main(); {6519#true} is VALID [2021-09-13 23:55:23,900 INFO L281 TraceCheckUtils]: 5: Hoare triple {6519#true} ~len~0 := 3; {6519#true} is VALID [2021-09-13 23:55:23,901 INFO L264 TraceCheckUtils]: 6: Hoare triple {6519#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {6550#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2021-09-13 23:55:23,901 INFO L281 TraceCheckUtils]: 7: Hoare triple {6550#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {6519#true} is VALID [2021-09-13 23:55:23,901 INFO L281 TraceCheckUtils]: 8: Hoare triple {6519#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {6519#true} is VALID [2021-09-13 23:55:23,901 INFO L281 TraceCheckUtils]: 9: Hoare triple {6519#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {6519#true} is VALID [2021-09-13 23:55:23,901 INFO L281 TraceCheckUtils]: 10: Hoare triple {6519#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {6519#true} is VALID [2021-09-13 23:55:23,901 INFO L281 TraceCheckUtils]: 11: Hoare triple {6519#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {6519#true} is VALID [2021-09-13 23:55:23,901 INFO L281 TraceCheckUtils]: 12: Hoare triple {6519#true} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {6519#true} is VALID [2021-09-13 23:55:23,901 INFO L281 TraceCheckUtils]: 13: Hoare triple {6519#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {6519#true} is VALID [2021-09-13 23:55:23,902 INFO L281 TraceCheckUtils]: 14: Hoare triple {6519#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {6519#true} is VALID [2021-09-13 23:55:23,902 INFO L281 TraceCheckUtils]: 15: Hoare triple {6519#true} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {6519#true} is VALID [2021-09-13 23:55:23,902 INFO L281 TraceCheckUtils]: 16: Hoare triple {6519#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {6519#true} is VALID [2021-09-13 23:55:23,902 INFO L281 TraceCheckUtils]: 17: Hoare triple {6519#true} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {6551#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8))} is VALID [2021-09-13 23:55:23,903 INFO L281 TraceCheckUtils]: 18: Hoare triple {6551#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {6551#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8))} is VALID [2021-09-13 23:55:23,903 INFO L281 TraceCheckUtils]: 19: Hoare triple {6551#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {6551#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8))} is VALID [2021-09-13 23:55:23,904 INFO L281 TraceCheckUtils]: 20: Hoare triple {6551#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {6551#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8))} is VALID [2021-09-13 23:55:23,905 INFO L281 TraceCheckUtils]: 21: Hoare triple {6551#(and (= dll_circular_create_~new_head~0.offset 0) (= (select |#length| dll_circular_create_~new_head~0.base) 8))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {6552#(and (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} is VALID [2021-09-13 23:55:23,905 INFO L281 TraceCheckUtils]: 22: Hoare triple {6552#(and (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} assume !(~len > 1); {6552#(and (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} is VALID [2021-09-13 23:55:23,906 INFO L281 TraceCheckUtils]: 23: Hoare triple {6552#(and (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {6552#(and (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} is VALID [2021-09-13 23:55:23,907 INFO L281 TraceCheckUtils]: 24: Hoare triple {6552#(and (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {6552#(and (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} is VALID [2021-09-13 23:55:23,909 INFO L281 TraceCheckUtils]: 25: Hoare triple {6552#(and (= dll_circular_create_~head~0.offset 0) (= (select |#length| dll_circular_create_~head~0.base) 8))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {6553#(and (= (select |#length| |dll_circular_create_#res.base|) 8) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:55:23,912 INFO L281 TraceCheckUtils]: 26: Hoare triple {6553#(and (= (select |#length| |dll_circular_create_#res.base|) 8) (= |dll_circular_create_#res.offset| 0))} assume true; {6553#(and (= (select |#length| |dll_circular_create_#res.base|) 8) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:55:23,912 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {6553#(and (= (select |#length| |dll_circular_create_#res.base|) 8) (= |dll_circular_create_#res.offset| 0))} {6519#true} #197#return; {6545#(and (= |main_#t~ret12.offset| 0) (= (select |#length| |main_#t~ret12.base|) 8))} is VALID [2021-09-13 23:55:23,913 INFO L281 TraceCheckUtils]: 28: Hoare triple {6545#(and (= |main_#t~ret12.offset| 0) (= (select |#length| |main_#t~ret12.base|) 8))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {6546#(and (= 8 (select |#length| main_~head~1.base)) (= 0 main_~head~1.offset))} is VALID [2021-09-13 23:55:23,914 INFO L264 TraceCheckUtils]: 29: Hoare triple {6546#(and (= 8 (select |#length| main_~head~1.base)) (= 0 main_~head~1.offset))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {6547#(and (= (select |#length| |_destroy_in_nondeterministic_order_#in~head.base|) 8) (= |_destroy_in_nondeterministic_order_#in~head.offset| 0))} is VALID [2021-09-13 23:55:23,914 INFO L281 TraceCheckUtils]: 30: Hoare triple {6547#(and (= (select |#length| |_destroy_in_nondeterministic_order_#in~head.base|) 8) (= |_destroy_in_nondeterministic_order_#in~head.offset| 0))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {6548#(and (= 8 (select |#length| _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset 0))} is VALID [2021-09-13 23:55:23,915 INFO L281 TraceCheckUtils]: 31: Hoare triple {6548#(and (= 8 (select |#length| _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset 0))} assume !(4 + (4 + ~head.offset) <= #length[~head.base] && 0 <= 4 + ~head.offset); {6520#false} is VALID [2021-09-13 23:55:23,915 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2021-09-13 23:55:23,916 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 23:55:23,916 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1605081129] [2021-09-13 23:55:23,916 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1605081129] provided 1 perfect and 0 imperfect interpolant sequences [2021-09-13 23:55:23,916 INFO L186 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2021-09-13 23:55:23,916 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2021-09-13 23:55:23,916 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [977803946] [2021-09-13 23:55:23,917 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 2.888888888888889) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 32 [2021-09-13 23:55:23,917 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:55:23,920 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 11 states, 9 states have (on average 2.888888888888889) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:55:23,935 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:23,936 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2021-09-13 23:55:23,936 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 23:55:23,937 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2021-09-13 23:55:23,937 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=91, Unknown=0, NotChecked=0, Total=110 [2021-09-13 23:55:23,937 INFO L87 Difference]: Start difference. First operand 130 states and 135 transitions. Second operand has 11 states, 9 states have (on average 2.888888888888889) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:55:25,305 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:25,305 INFO L93 Difference]: Finished difference Result 123 states and 128 transitions. [2021-09-13 23:55:25,305 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2021-09-13 23:55:25,306 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 2.888888888888889) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 32 [2021-09-13 23:55:25,306 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:55:25,306 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 2.888888888888889) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:55:25,307 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 134 transitions. [2021-09-13 23:55:25,307 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 2.888888888888889) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:55:25,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 134 transitions. [2021-09-13 23:55:25,308 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 134 transitions. [2021-09-13 23:55:25,400 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 134 edges. 134 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:25,402 INFO L225 Difference]: With dead ends: 123 [2021-09-13 23:55:25,402 INFO L226 Difference]: Without dead ends: 123 [2021-09-13 23:55:25,402 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 136.35ms TimeCoverageRelationStatistics Valid=52, Invalid=220, Unknown=0, NotChecked=0, Total=272 [2021-09-13 23:55:25,403 INFO L928 BasicCegarLoop]: 6 mSDtfsCounter, 238 mSDsluCounter, 375 mSDsCounter, 0 mSdLazyCounter, 967 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 662.90ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 239 SdHoareTripleChecker+Valid, 29 SdHoareTripleChecker+Invalid, 986 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 4.05ms SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 967 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 667.75ms IncrementalHoareTripleChecker+Time [2021-09-13 23:55:25,403 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [239 Valid, 29 Invalid, 986 Unknown, 0 Unchecked, 4.05ms Time], IncrementalHoareTripleChecker [19 Valid, 967 Invalid, 0 Unknown, 0 Unchecked, 667.75ms Time] [2021-09-13 23:55:25,403 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 123 states. [2021-09-13 23:55:25,405 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 123 to 123. [2021-09-13 23:55:25,405 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:55:25,405 INFO L82 GeneralOperation]: Start isEquivalent. First operand 123 states. Second operand has 123 states, 79 states have (on average 1.5316455696202531) internal successors, (121), 115 states have internal predecessors, (121), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:25,405 INFO L74 IsIncluded]: Start isIncluded. First operand 123 states. Second operand has 123 states, 79 states have (on average 1.5316455696202531) internal successors, (121), 115 states have internal predecessors, (121), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:25,406 INFO L87 Difference]: Start difference. First operand 123 states. Second operand has 123 states, 79 states have (on average 1.5316455696202531) internal successors, (121), 115 states have internal predecessors, (121), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:25,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:25,407 INFO L93 Difference]: Finished difference Result 123 states and 128 transitions. [2021-09-13 23:55:25,407 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 128 transitions. [2021-09-13 23:55:25,407 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:25,407 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:25,408 INFO L74 IsIncluded]: Start isIncluded. First operand has 123 states, 79 states have (on average 1.5316455696202531) internal successors, (121), 115 states have internal predecessors, (121), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 123 states. [2021-09-13 23:55:25,408 INFO L87 Difference]: Start difference. First operand has 123 states, 79 states have (on average 1.5316455696202531) internal successors, (121), 115 states have internal predecessors, (121), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 123 states. [2021-09-13 23:55:25,409 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:25,409 INFO L93 Difference]: Finished difference Result 123 states and 128 transitions. [2021-09-13 23:55:25,409 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 128 transitions. [2021-09-13 23:55:25,410 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:25,421 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:25,421 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:55:25,421 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:55:25,421 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 123 states, 79 states have (on average 1.5316455696202531) internal successors, (121), 115 states have internal predecessors, (121), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:25,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 123 states to 123 states and 128 transitions. [2021-09-13 23:55:25,423 INFO L78 Accepts]: Start accepts. Automaton has 123 states and 128 transitions. Word has length 32 [2021-09-13 23:55:25,423 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:55:25,424 INFO L470 AbstractCegarLoop]: Abstraction has 123 states and 128 transitions. [2021-09-13 23:55:25,424 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 9 states have (on average 2.888888888888889) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:55:25,424 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 128 transitions. [2021-09-13 23:55:25,425 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2021-09-13 23:55:25,425 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:55:25,425 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1] [2021-09-13 23:55:25,425 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11 [2021-09-13 23:55:25,425 INFO L402 AbstractCegarLoop]: === Iteration 13 === Targeting _destroy_in_nondeterministic_orderErr19ASSERT_VIOLATIONMEMORY_FREE === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:55:25,426 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:55:25,426 INFO L82 PathProgramCache]: Analyzing trace with hash -1282426124, now seen corresponding path program 1 times [2021-09-13 23:55:25,426 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 23:55:25,426 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [596051069] [2021-09-13 23:55:25,426 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:55:25,426 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 23:55:25,471 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:25,564 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2021-09-13 23:55:25,565 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:25,569 INFO L281 TraceCheckUtils]: 0: Hoare triple {7094#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {7062#true} is VALID [2021-09-13 23:55:25,569 INFO L281 TraceCheckUtils]: 1: Hoare triple {7062#true} assume true; {7062#true} is VALID [2021-09-13 23:55:25,569 INFO L276 TraceCheckUtils]: 2: Hoare quadruple {7062#true} {7062#true} #201#return; {7062#true} is VALID [2021-09-13 23:55:25,578 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2021-09-13 23:55:25,594 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:26,019 INFO L281 TraceCheckUtils]: 0: Hoare triple {7095#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {7096#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:55:26,020 INFO L281 TraceCheckUtils]: 1: Hoare triple {7096#(= dll_circular_create_~last~0.offset 0)} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {7096#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:55:26,020 INFO L281 TraceCheckUtils]: 2: Hoare triple {7096#(= dll_circular_create_~last~0.offset 0)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {7096#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:55:26,020 INFO L281 TraceCheckUtils]: 3: Hoare triple {7096#(= dll_circular_create_~last~0.offset 0)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {7096#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:55:26,021 INFO L281 TraceCheckUtils]: 4: Hoare triple {7096#(= dll_circular_create_~last~0.offset 0)} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {7097#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:55:26,021 INFO L281 TraceCheckUtils]: 5: Hoare triple {7097#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= dll_circular_create_~last~0.offset 0))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {7098#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:55:26,022 INFO L281 TraceCheckUtils]: 6: Hoare triple {7098#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~last~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {7098#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:55:26,022 INFO L281 TraceCheckUtils]: 7: Hoare triple {7098#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~last~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {7099#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~last~0.offset 0) (not (= 0 (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-13 23:55:26,023 INFO L281 TraceCheckUtils]: 8: Hoare triple {7099#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~last~0.offset 0) (not (= 0 (select |#valid| dll_circular_create_~new_head~0.base))))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {7100#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~last~0.offset 0) (not (= 0 (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-13 23:55:26,023 INFO L281 TraceCheckUtils]: 9: Hoare triple {7100#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~last~0.offset 0) (not (= 0 (select |#valid| dll_circular_create_~new_head~0.base))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {7101#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~head~0.offset 0) (not (= (select |#valid| dll_circular_create_~head~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:55:26,024 INFO L281 TraceCheckUtils]: 10: Hoare triple {7101#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~head~0.offset 0) (not (= (select |#valid| dll_circular_create_~head~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {7102#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.offset 1)))} is VALID [2021-09-13 23:55:26,025 INFO L281 TraceCheckUtils]: 11: Hoare triple {7102#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.offset 1)))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {7102#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.offset 1)))} is VALID [2021-09-13 23:55:26,025 INFO L281 TraceCheckUtils]: 12: Hoare triple {7102#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.offset 1)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {7103#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= 0 (select (select (store |#memory_$Pointer$.offset| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.offset)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.offset 1)))} is VALID [2021-09-13 23:55:26,026 INFO L281 TraceCheckUtils]: 13: Hoare triple {7103#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= 0 (select (select (store |#memory_$Pointer$.offset| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.offset)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.offset 1)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {7104#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.offset 1)) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) 0))} is VALID [2021-09-13 23:55:26,027 INFO L281 TraceCheckUtils]: 14: Hoare triple {7104#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.offset 1)) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) 0))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {7105#(and (= (select (select (store |#memory_$Pointer$.offset| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.offset)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) 0) (= dll_circular_create_~head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.offset 1)))} is VALID [2021-09-13 23:55:26,027 INFO L281 TraceCheckUtils]: 15: Hoare triple {7105#(and (= (select (select (store |#memory_$Pointer$.offset| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.offset)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) 0) (= dll_circular_create_~head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.offset 1)))} assume !(~len > 1); {7105#(and (= (select (select (store |#memory_$Pointer$.offset| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.offset)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) 0) (= dll_circular_create_~head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.offset 1)))} is VALID [2021-09-13 23:55:26,028 INFO L281 TraceCheckUtils]: 16: Hoare triple {7105#(and (= (select (select (store |#memory_$Pointer$.offset| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.offset)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) 0) (= dll_circular_create_~head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.offset 1)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {7106#(and (= (select (store (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.offset) dll_circular_create_~head~0.offset) 0) (= dll_circular_create_~head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.offset 1)))} is VALID [2021-09-13 23:55:26,028 INFO L281 TraceCheckUtils]: 17: Hoare triple {7106#(and (= (select (store (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.offset) dll_circular_create_~head~0.offset) 0) (= dll_circular_create_~head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.offset 1)))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {7107#(= (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) 0)} is VALID [2021-09-13 23:55:26,029 INFO L281 TraceCheckUtils]: 18: Hoare triple {7107#(= (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) 0)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {7108#(= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) 0)} is VALID [2021-09-13 23:55:26,029 INFO L281 TraceCheckUtils]: 19: Hoare triple {7108#(= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) 0)} assume true; {7108#(= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) 0)} is VALID [2021-09-13 23:55:26,030 INFO L276 TraceCheckUtils]: 20: Hoare quadruple {7108#(= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) 0)} {7062#true} #197#return; {7088#(= (select (select |#memory_$Pointer$.offset| |main_#t~ret12.base|) |main_#t~ret12.offset|) 0)} is VALID [2021-09-13 23:55:26,031 INFO L264 TraceCheckUtils]: 0: Hoare triple {7062#true} call ULTIMATE.init(); {7094#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2021-09-13 23:55:26,031 INFO L281 TraceCheckUtils]: 1: Hoare triple {7094#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {7062#true} is VALID [2021-09-13 23:55:26,031 INFO L281 TraceCheckUtils]: 2: Hoare triple {7062#true} assume true; {7062#true} is VALID [2021-09-13 23:55:26,031 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {7062#true} {7062#true} #201#return; {7062#true} is VALID [2021-09-13 23:55:26,031 INFO L264 TraceCheckUtils]: 4: Hoare triple {7062#true} call #t~ret13 := main(); {7062#true} is VALID [2021-09-13 23:55:26,031 INFO L281 TraceCheckUtils]: 5: Hoare triple {7062#true} ~len~0 := 3; {7062#true} is VALID [2021-09-13 23:55:26,035 INFO L264 TraceCheckUtils]: 6: Hoare triple {7062#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {7095#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2021-09-13 23:55:26,036 INFO L281 TraceCheckUtils]: 7: Hoare triple {7095#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {7096#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:55:26,036 INFO L281 TraceCheckUtils]: 8: Hoare triple {7096#(= dll_circular_create_~last~0.offset 0)} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {7096#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:55:26,036 INFO L281 TraceCheckUtils]: 9: Hoare triple {7096#(= dll_circular_create_~last~0.offset 0)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {7096#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:55:26,037 INFO L281 TraceCheckUtils]: 10: Hoare triple {7096#(= dll_circular_create_~last~0.offset 0)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {7096#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:55:26,037 INFO L281 TraceCheckUtils]: 11: Hoare triple {7096#(= dll_circular_create_~last~0.offset 0)} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {7097#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:55:26,038 INFO L281 TraceCheckUtils]: 12: Hoare triple {7097#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= dll_circular_create_~last~0.offset 0))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {7098#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:55:26,038 INFO L281 TraceCheckUtils]: 13: Hoare triple {7098#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~last~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {7098#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:55:26,039 INFO L281 TraceCheckUtils]: 14: Hoare triple {7098#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~last~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {7099#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~last~0.offset 0) (not (= 0 (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-13 23:55:26,039 INFO L281 TraceCheckUtils]: 15: Hoare triple {7099#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~last~0.offset 0) (not (= 0 (select |#valid| dll_circular_create_~new_head~0.base))))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {7100#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~last~0.offset 0) (not (= 0 (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-13 23:55:26,040 INFO L281 TraceCheckUtils]: 16: Hoare triple {7100#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~last~0.offset 0) (not (= 0 (select |#valid| dll_circular_create_~new_head~0.base))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {7101#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~head~0.offset 0) (not (= (select |#valid| dll_circular_create_~head~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:55:26,041 INFO L281 TraceCheckUtils]: 17: Hoare triple {7101#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~head~0.offset 0) (not (= (select |#valid| dll_circular_create_~head~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {7102#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.offset 1)))} is VALID [2021-09-13 23:55:26,041 INFO L281 TraceCheckUtils]: 18: Hoare triple {7102#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.offset 1)))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {7102#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.offset 1)))} is VALID [2021-09-13 23:55:26,042 INFO L281 TraceCheckUtils]: 19: Hoare triple {7102#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.offset 1)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {7103#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= 0 (select (select (store |#memory_$Pointer$.offset| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.offset)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.offset 1)))} is VALID [2021-09-13 23:55:26,042 INFO L281 TraceCheckUtils]: 20: Hoare triple {7103#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= 0 (select (select (store |#memory_$Pointer$.offset| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.offset)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.offset 1)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {7104#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.offset 1)) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) 0))} is VALID [2021-09-13 23:55:26,043 INFO L281 TraceCheckUtils]: 21: Hoare triple {7104#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.offset 1)) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) 0))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {7105#(and (= (select (select (store |#memory_$Pointer$.offset| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.offset)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) 0) (= dll_circular_create_~head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.offset 1)))} is VALID [2021-09-13 23:55:26,044 INFO L281 TraceCheckUtils]: 22: Hoare triple {7105#(and (= (select (select (store |#memory_$Pointer$.offset| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.offset)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) 0) (= dll_circular_create_~head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.offset 1)))} assume !(~len > 1); {7105#(and (= (select (select (store |#memory_$Pointer$.offset| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.offset)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) 0) (= dll_circular_create_~head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.offset 1)))} is VALID [2021-09-13 23:55:26,044 INFO L281 TraceCheckUtils]: 23: Hoare triple {7105#(and (= (select (select (store |#memory_$Pointer$.offset| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.offset)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) 0) (= dll_circular_create_~head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.offset 1)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {7106#(and (= (select (store (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.offset) dll_circular_create_~head~0.offset) 0) (= dll_circular_create_~head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.offset 1)))} is VALID [2021-09-13 23:55:26,045 INFO L281 TraceCheckUtils]: 24: Hoare triple {7106#(and (= (select (store (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.offset) dll_circular_create_~head~0.offset) 0) (= dll_circular_create_~head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.offset 1)))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {7107#(= (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) 0)} is VALID [2021-09-13 23:55:26,045 INFO L281 TraceCheckUtils]: 25: Hoare triple {7107#(= (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) 0)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {7108#(= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) 0)} is VALID [2021-09-13 23:55:26,046 INFO L281 TraceCheckUtils]: 26: Hoare triple {7108#(= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) 0)} assume true; {7108#(= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) 0)} is VALID [2021-09-13 23:55:26,047 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {7108#(= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) 0)} {7062#true} #197#return; {7088#(= (select (select |#memory_$Pointer$.offset| |main_#t~ret12.base|) |main_#t~ret12.offset|) 0)} is VALID [2021-09-13 23:55:26,048 INFO L281 TraceCheckUtils]: 28: Hoare triple {7088#(= (select (select |#memory_$Pointer$.offset| |main_#t~ret12.base|) |main_#t~ret12.offset|) 0)} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {7089#(= (select (select |#memory_$Pointer$.offset| main_~head~1.base) main_~head~1.offset) 0)} is VALID [2021-09-13 23:55:26,048 INFO L264 TraceCheckUtils]: 29: Hoare triple {7089#(= (select (select |#memory_$Pointer$.offset| main_~head~1.base) main_~head~1.offset) 0)} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {7090#(= (select (select |#memory_$Pointer$.offset| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|) 0)} is VALID [2021-09-13 23:55:26,049 INFO L281 TraceCheckUtils]: 30: Hoare triple {7090#(= (select (select |#memory_$Pointer$.offset| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|) 0)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {7091#(= 0 (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))} is VALID [2021-09-13 23:55:26,049 INFO L281 TraceCheckUtils]: 31: Hoare triple {7091#(= 0 (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, 4 + ~head.offset, 4); srcloc: L586 {7091#(= 0 (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))} is VALID [2021-09-13 23:55:26,049 INFO L281 TraceCheckUtils]: 32: Hoare triple {7091#(= 0 (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {7091#(= 0 (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))} is VALID [2021-09-13 23:55:26,050 INFO L281 TraceCheckUtils]: 33: Hoare triple {7091#(= 0 (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4); srcloc: L587 {7092#(= |_destroy_in_nondeterministic_order_#t~mem6.offset| 0)} is VALID [2021-09-13 23:55:26,050 INFO L281 TraceCheckUtils]: 34: Hoare triple {7092#(= |_destroy_in_nondeterministic_order_#t~mem6.offset| 0)} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647; {7093#(= _destroy_in_nondeterministic_order_~succ~0.offset 0)} is VALID [2021-09-13 23:55:26,052 INFO L281 TraceCheckUtils]: 35: Hoare triple {7093#(= _destroy_in_nondeterministic_order_~succ~0.offset 0)} assume !(0 != #t~nondet7);havoc #t~nondet7;assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {7093#(= _destroy_in_nondeterministic_order_~succ~0.offset 0)} is VALID [2021-09-13 23:55:26,052 INFO L281 TraceCheckUtils]: 36: Hoare triple {7093#(= _destroy_in_nondeterministic_order_~succ~0.offset 0)} assume 0 != #t~nondet9;havoc #t~nondet9; {7093#(= _destroy_in_nondeterministic_order_~succ~0.offset 0)} is VALID [2021-09-13 23:55:26,053 INFO L281 TraceCheckUtils]: 37: Hoare triple {7093#(= _destroy_in_nondeterministic_order_~succ~0.offset 0)} assume !(0 == ~succ~0.offset); {7063#false} is VALID [2021-09-13 23:55:26,053 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:55:26,053 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 23:55:26,053 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [596051069] [2021-09-13 23:55:26,053 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [596051069] provided 0 perfect and 1 imperfect interpolant sequences [2021-09-13 23:55:26,054 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1443867629] [2021-09-13 23:55:26,054 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:55:26,054 INFO L170 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 23:55:26,054 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-09-13 23:55:26,055 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) [2021-09-13 23:55:26,056 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2021-09-13 23:55:26,133 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:26,135 INFO L263 TraceCheckSpWp]: Trace formula consists of 193 conjuncts, 47 conjunts are in the unsatisfiable core [2021-09-13 23:55:26,148 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:26,150 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 23:55:26,173 INFO L388 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 [2021-09-13 23:55:26,261 INFO L354 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2021-09-13 23:55:26,261 INFO L388 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 14 [2021-09-13 23:55:26,456 INFO L354 Elim1Store]: treesize reduction 16, result has 36.0 percent of original size [2021-09-13 23:55:26,457 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 16 treesize of output 18 [2021-09-13 23:55:26,546 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2021-09-13 23:55:26,644 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 22 [2021-09-13 23:55:27,003 INFO L354 Elim1Store]: treesize reduction 17, result has 29.2 percent of original size [2021-09-13 23:55:27,004 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 34 treesize of output 36 [2021-09-13 23:55:27,242 INFO L190 IndexEqualityManager]: detected not equals via solver [2021-09-13 23:55:27,243 INFO L173 IndexEqualityManager]: detected equality via solver [2021-09-13 23:55:27,263 INFO L354 Elim1Store]: treesize reduction 25, result has 21.9 percent of original size [2021-09-13 23:55:27,263 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 43 treesize of output 48 [2021-09-13 23:55:28,861 INFO L354 Elim1Store]: treesize reduction 78, result has 3.7 percent of original size [2021-09-13 23:55:28,861 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 5 select indices, 5 select index equivalence classes, 1 disjoint index pairs (out of 10 index pairs), introduced 7 new quantified variables, introduced 10 case distinctions, treesize of input 54 treesize of output 35 [2021-09-13 23:55:28,911 INFO L264 TraceCheckUtils]: 0: Hoare triple {7062#true} call ULTIMATE.init(); {7062#true} is VALID [2021-09-13 23:55:28,911 INFO L281 TraceCheckUtils]: 1: Hoare triple {7062#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {7062#true} is VALID [2021-09-13 23:55:28,911 INFO L281 TraceCheckUtils]: 2: Hoare triple {7062#true} assume true; {7062#true} is VALID [2021-09-13 23:55:28,911 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {7062#true} {7062#true} #201#return; {7062#true} is VALID [2021-09-13 23:55:28,911 INFO L264 TraceCheckUtils]: 4: Hoare triple {7062#true} call #t~ret13 := main(); {7062#true} is VALID [2021-09-13 23:55:28,912 INFO L281 TraceCheckUtils]: 5: Hoare triple {7062#true} ~len~0 := 3; {7062#true} is VALID [2021-09-13 23:55:28,912 INFO L264 TraceCheckUtils]: 6: Hoare triple {7062#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {7062#true} is VALID [2021-09-13 23:55:28,912 INFO L281 TraceCheckUtils]: 7: Hoare triple {7062#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {7133#(and (= dll_circular_create_~last~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:55:28,913 INFO L281 TraceCheckUtils]: 8: Hoare triple {7133#(and (= dll_circular_create_~last~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1))} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {7133#(and (= dll_circular_create_~last~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:55:28,913 INFO L281 TraceCheckUtils]: 9: Hoare triple {7133#(and (= dll_circular_create_~last~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {7133#(and (= dll_circular_create_~last~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:55:28,914 INFO L281 TraceCheckUtils]: 10: Hoare triple {7133#(and (= dll_circular_create_~last~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {7133#(and (= dll_circular_create_~last~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:55:28,914 INFO L281 TraceCheckUtils]: 11: Hoare triple {7133#(and (= dll_circular_create_~last~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1))} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {7133#(and (= dll_circular_create_~last~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:55:28,915 INFO L281 TraceCheckUtils]: 12: Hoare triple {7133#(and (= dll_circular_create_~last~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {7149#(and (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~last~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:55:28,915 INFO L281 TraceCheckUtils]: 13: Hoare triple {7149#(and (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~last~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {7149#(and (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~last~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:55:28,916 INFO L281 TraceCheckUtils]: 14: Hoare triple {7149#(and (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~last~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {7149#(and (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~last~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:55:28,916 INFO L281 TraceCheckUtils]: 15: Hoare triple {7149#(and (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~last~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {7149#(and (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~last~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:55:28,916 INFO L281 TraceCheckUtils]: 16: Hoare triple {7149#(and (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~last~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {7162#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (= dll_circular_create_~head~0.offset 0) (= dll_circular_create_~last~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:55:28,917 INFO L281 TraceCheckUtils]: 17: Hoare triple {7162#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (= dll_circular_create_~head~0.offset 0) (= dll_circular_create_~last~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {7166#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~head~0.offset 0) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:55:28,917 INFO L281 TraceCheckUtils]: 18: Hoare triple {7166#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~head~0.offset 0) (= dll_circular_create_~last~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {7166#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~head~0.offset 0) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:55:28,918 INFO L281 TraceCheckUtils]: 19: Hoare triple {7166#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~head~0.offset 0) (= dll_circular_create_~last~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {7173#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~head~0.offset 0) (= dll_circular_create_~last~0.offset 0) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) dll_circular_create_~head~0.offset))} is VALID [2021-09-13 23:55:28,919 INFO L281 TraceCheckUtils]: 20: Hoare triple {7173#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~head~0.offset 0) (= dll_circular_create_~last~0.offset 0) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) dll_circular_create_~head~0.offset))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {7177#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~last~0.offset 0) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) 0) (exists ((dll_circular_create_~head~0.base Int)) (and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) 4)))))} is VALID [2021-09-13 23:55:28,920 INFO L281 TraceCheckUtils]: 21: Hoare triple {7177#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~last~0.offset 0) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) 0) (exists ((dll_circular_create_~head~0.base Int)) (and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) 4)))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {7181#(and (exists ((v_dll_circular_create_~head~0.base_15 Int)) (and (not (= dll_circular_create_~head~0.base v_dll_circular_create_~head~0.base_15)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_15) 4) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (= dll_circular_create_~last~0.offset 0) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) 0) 0))} is VALID [2021-09-13 23:55:28,920 INFO L281 TraceCheckUtils]: 22: Hoare triple {7181#(and (exists ((v_dll_circular_create_~head~0.base_15 Int)) (and (not (= dll_circular_create_~head~0.base v_dll_circular_create_~head~0.base_15)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_15) 4) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (= dll_circular_create_~last~0.offset 0) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) 0) 0))} assume !(~len > 1); {7181#(and (exists ((v_dll_circular_create_~head~0.base_15 Int)) (and (not (= dll_circular_create_~head~0.base v_dll_circular_create_~head~0.base_15)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_15) 4) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (= dll_circular_create_~last~0.offset 0) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) 0) 0))} is VALID [2021-09-13 23:55:28,922 INFO L281 TraceCheckUtils]: 23: Hoare triple {7181#(and (exists ((v_dll_circular_create_~head~0.base_15 Int)) (and (not (= dll_circular_create_~head~0.base v_dll_circular_create_~head~0.base_15)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_15) 4) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (= dll_circular_create_~last~0.offset 0) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) 0) 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {7188#(and (exists ((v_dll_circular_create_~head~0.base_15 Int)) (and (not (= dll_circular_create_~head~0.base v_dll_circular_create_~head~0.base_15)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_15) 4) 0))) (= dll_circular_create_~head~0.offset 0) (= dll_circular_create_~last~0.offset 0) (exists ((dll_circular_create_~last~0.base Int)) (and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset)))) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) 0) 0))} is VALID [2021-09-13 23:55:28,923 INFO L281 TraceCheckUtils]: 24: Hoare triple {7188#(and (exists ((v_dll_circular_create_~head~0.base_15 Int)) (and (not (= dll_circular_create_~head~0.base v_dll_circular_create_~head~0.base_15)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_15) 4) 0))) (= dll_circular_create_~head~0.offset 0) (= dll_circular_create_~last~0.offset 0) (exists ((dll_circular_create_~last~0.base Int)) (and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset)))) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) 0) 0))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {7192#(and (exists ((dll_circular_create_~last~0.base Int)) (and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) dll_circular_create_~head~0.offset))) (exists ((v_dll_circular_create_~head~0.base_15 Int)) (and (not (= dll_circular_create_~head~0.base v_dll_circular_create_~head~0.base_15)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_15) 4) 0))) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4)) 0) (= dll_circular_create_~head~0.offset 0) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) 0) 0))} is VALID [2021-09-13 23:55:28,924 INFO L281 TraceCheckUtils]: 25: Hoare triple {7192#(and (exists ((dll_circular_create_~last~0.base Int)) (and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) dll_circular_create_~head~0.offset))) (exists ((v_dll_circular_create_~head~0.base_15 Int)) (and (not (= dll_circular_create_~head~0.base v_dll_circular_create_~head~0.base_15)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_15) 4) 0))) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4)) 0) (= dll_circular_create_~head~0.offset 0) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) 0) 0))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {7196#(and (exists ((dll_circular_create_~last~0.base Int)) (and (not (= |dll_circular_create_#res.base| dll_circular_create_~last~0.base)) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) |dll_circular_create_#res.offset|))) (= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4)) 0) (exists ((v_dll_circular_create_~head~0.base_15 Int)) (and (not (= |dll_circular_create_#res.base| v_dll_circular_create_~head~0.base_15)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_15) 4) 0))) (= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) 0) 0) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:55:28,924 INFO L281 TraceCheckUtils]: 26: Hoare triple {7196#(and (exists ((dll_circular_create_~last~0.base Int)) (and (not (= |dll_circular_create_#res.base| dll_circular_create_~last~0.base)) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) |dll_circular_create_#res.offset|))) (= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4)) 0) (exists ((v_dll_circular_create_~head~0.base_15 Int)) (and (not (= |dll_circular_create_#res.base| v_dll_circular_create_~head~0.base_15)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_15) 4) 0))) (= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) 0) 0) (= |dll_circular_create_#res.offset| 0))} assume true; {7196#(and (exists ((dll_circular_create_~last~0.base Int)) (and (not (= |dll_circular_create_#res.base| dll_circular_create_~last~0.base)) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) |dll_circular_create_#res.offset|))) (= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4)) 0) (exists ((v_dll_circular_create_~head~0.base_15 Int)) (and (not (= |dll_circular_create_#res.base| v_dll_circular_create_~head~0.base_15)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_15) 4) 0))) (= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) 0) 0) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:55:28,926 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {7196#(and (exists ((dll_circular_create_~last~0.base Int)) (and (not (= |dll_circular_create_#res.base| dll_circular_create_~last~0.base)) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) |dll_circular_create_#res.offset|))) (= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4)) 0) (exists ((v_dll_circular_create_~head~0.base_15 Int)) (and (not (= |dll_circular_create_#res.base| v_dll_circular_create_~head~0.base_15)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_15) 4) 0))) (= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) 0) 0) (= |dll_circular_create_#res.offset| 0))} {7062#true} #197#return; {7203#(and (exists ((dll_circular_create_~last~0.base Int)) (and (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) |main_#t~ret12.offset|) (= (select (select |#memory_$Pointer$.offset| |main_#t~ret12.base|) (+ (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) 4)) 0) (not (= dll_circular_create_~last~0.base |main_#t~ret12.base|)) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) 0))) (exists ((v_dll_circular_create_~head~0.base_15 Int)) (and (not (= v_dll_circular_create_~head~0.base_15 |main_#t~ret12.base|)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_15) 4) 0))) (= (select (select |#memory_$Pointer$.offset| |main_#t~ret12.base|) 0) 0))} is VALID [2021-09-13 23:55:28,927 INFO L281 TraceCheckUtils]: 28: Hoare triple {7203#(and (exists ((dll_circular_create_~last~0.base Int)) (and (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) |main_#t~ret12.offset|) (= (select (select |#memory_$Pointer$.offset| |main_#t~ret12.base|) (+ (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) 4)) 0) (not (= dll_circular_create_~last~0.base |main_#t~ret12.base|)) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) 0))) (exists ((v_dll_circular_create_~head~0.base_15 Int)) (and (not (= v_dll_circular_create_~head~0.base_15 |main_#t~ret12.base|)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_15) 4) 0))) (= (select (select |#memory_$Pointer$.offset| |main_#t~ret12.base|) 0) 0))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {7207#(and (= (select (select |#memory_$Pointer$.offset| main_~head~1.base) 0) 0) (exists ((dll_circular_create_~last~0.base Int)) (and (not (= main_~head~1.base dll_circular_create_~last~0.base)) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) 0) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) main_~head~1.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~head~1.base) (+ (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) 4))))) (exists ((v_dll_circular_create_~head~0.base_15 Int)) (and (not (= v_dll_circular_create_~head~0.base_15 main_~head~1.base)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_15) 4) 0))))} is VALID [2021-09-13 23:55:28,928 INFO L264 TraceCheckUtils]: 29: Hoare triple {7207#(and (= (select (select |#memory_$Pointer$.offset| main_~head~1.base) 0) 0) (exists ((dll_circular_create_~last~0.base Int)) (and (not (= main_~head~1.base dll_circular_create_~last~0.base)) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) 0) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) main_~head~1.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~head~1.base) (+ (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) 4))))) (exists ((v_dll_circular_create_~head~0.base_15 Int)) (and (not (= v_dll_circular_create_~head~0.base_15 main_~head~1.base)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_15) 4) 0))))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {7211#(and (exists ((v_dll_circular_create_~head~0.base_15 Int)) (and (not (= |_destroy_in_nondeterministic_order_#in~head.base| v_dll_circular_create_~head~0.base_15)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_15) 4) 0))) (exists ((dll_circular_create_~last~0.base Int)) (and (= (select (select |#memory_$Pointer$.offset| |_destroy_in_nondeterministic_order_#in~head.base|) (+ (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) 4)) 0) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) |_destroy_in_nondeterministic_order_#in~head.offset|) (not (= |_destroy_in_nondeterministic_order_#in~head.base| dll_circular_create_~last~0.base)) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) 0))) (= (select (select |#memory_$Pointer$.offset| |_destroy_in_nondeterministic_order_#in~head.base|) 0) 0))} is VALID [2021-09-13 23:55:28,929 INFO L281 TraceCheckUtils]: 30: Hoare triple {7211#(and (exists ((v_dll_circular_create_~head~0.base_15 Int)) (and (not (= |_destroy_in_nondeterministic_order_#in~head.base| v_dll_circular_create_~head~0.base_15)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_15) 4) 0))) (exists ((dll_circular_create_~last~0.base Int)) (and (= (select (select |#memory_$Pointer$.offset| |_destroy_in_nondeterministic_order_#in~head.base|) (+ (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) 4)) 0) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) |_destroy_in_nondeterministic_order_#in~head.offset|) (not (= |_destroy_in_nondeterministic_order_#in~head.base| dll_circular_create_~last~0.base)) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) 0))) (= (select (select |#memory_$Pointer$.offset| |_destroy_in_nondeterministic_order_#in~head.base|) 0) 0))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {7215#(and (= (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) 0) 0) (exists ((v_dll_circular_create_~head~0.base_15 Int)) (and (not (= _destroy_in_nondeterministic_order_~head.base v_dll_circular_create_~head~0.base_15)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_15) 4) 0))) (exists ((dll_circular_create_~last~0.base Int)) (and (not (= _destroy_in_nondeterministic_order_~head.base dll_circular_create_~last~0.base)) (= (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) (+ (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) 4)) 0) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) 0) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) _destroy_in_nondeterministic_order_~head.offset))))} is VALID [2021-09-13 23:55:28,929 INFO L281 TraceCheckUtils]: 31: Hoare triple {7215#(and (= (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) 0) 0) (exists ((v_dll_circular_create_~head~0.base_15 Int)) (and (not (= _destroy_in_nondeterministic_order_~head.base v_dll_circular_create_~head~0.base_15)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_15) 4) 0))) (exists ((dll_circular_create_~last~0.base Int)) (and (not (= _destroy_in_nondeterministic_order_~head.base dll_circular_create_~last~0.base)) (= (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) (+ (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) 4)) 0) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) 0) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) _destroy_in_nondeterministic_order_~head.offset))))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, 4 + ~head.offset, 4); srcloc: L586 {7215#(and (= (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) 0) 0) (exists ((v_dll_circular_create_~head~0.base_15 Int)) (and (not (= _destroy_in_nondeterministic_order_~head.base v_dll_circular_create_~head~0.base_15)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_15) 4) 0))) (exists ((dll_circular_create_~last~0.base Int)) (and (not (= _destroy_in_nondeterministic_order_~head.base dll_circular_create_~last~0.base)) (= (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) (+ (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) 4)) 0) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) 0) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) _destroy_in_nondeterministic_order_~head.offset))))} is VALID [2021-09-13 23:55:28,930 INFO L281 TraceCheckUtils]: 32: Hoare triple {7215#(and (= (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) 0) 0) (exists ((v_dll_circular_create_~head~0.base_15 Int)) (and (not (= _destroy_in_nondeterministic_order_~head.base v_dll_circular_create_~head~0.base_15)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_15) 4) 0))) (exists ((dll_circular_create_~last~0.base Int)) (and (not (= _destroy_in_nondeterministic_order_~head.base dll_circular_create_~last~0.base)) (= (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) (+ (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) 4)) 0) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) 0) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) _destroy_in_nondeterministic_order_~head.offset))))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {7215#(and (= (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) 0) 0) (exists ((v_dll_circular_create_~head~0.base_15 Int)) (and (not (= _destroy_in_nondeterministic_order_~head.base v_dll_circular_create_~head~0.base_15)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_15) 4) 0))) (exists ((dll_circular_create_~last~0.base Int)) (and (not (= _destroy_in_nondeterministic_order_~head.base dll_circular_create_~last~0.base)) (= (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) (+ (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) 4)) 0) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) 0) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) _destroy_in_nondeterministic_order_~head.offset))))} is VALID [2021-09-13 23:55:28,930 INFO L281 TraceCheckUtils]: 33: Hoare triple {7215#(and (= (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) 0) 0) (exists ((v_dll_circular_create_~head~0.base_15 Int)) (and (not (= _destroy_in_nondeterministic_order_~head.base v_dll_circular_create_~head~0.base_15)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_15) 4) 0))) (exists ((dll_circular_create_~last~0.base Int)) (and (not (= _destroy_in_nondeterministic_order_~head.base dll_circular_create_~last~0.base)) (= (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) (+ (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) 4)) 0) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) 0) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) 0) _destroy_in_nondeterministic_order_~head.offset))))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4); srcloc: L587 {7092#(= |_destroy_in_nondeterministic_order_#t~mem6.offset| 0)} is VALID [2021-09-13 23:55:28,931 INFO L281 TraceCheckUtils]: 34: Hoare triple {7092#(= |_destroy_in_nondeterministic_order_#t~mem6.offset| 0)} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647; {7093#(= _destroy_in_nondeterministic_order_~succ~0.offset 0)} is VALID [2021-09-13 23:55:28,931 INFO L281 TraceCheckUtils]: 35: Hoare triple {7093#(= _destroy_in_nondeterministic_order_~succ~0.offset 0)} assume !(0 != #t~nondet7);havoc #t~nondet7;assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {7093#(= _destroy_in_nondeterministic_order_~succ~0.offset 0)} is VALID [2021-09-13 23:55:28,931 INFO L281 TraceCheckUtils]: 36: Hoare triple {7093#(= _destroy_in_nondeterministic_order_~succ~0.offset 0)} assume 0 != #t~nondet9;havoc #t~nondet9; {7093#(= _destroy_in_nondeterministic_order_~succ~0.offset 0)} is VALID [2021-09-13 23:55:28,932 INFO L281 TraceCheckUtils]: 37: Hoare triple {7093#(= _destroy_in_nondeterministic_order_~succ~0.offset 0)} assume !(0 == ~succ~0.offset); {7063#false} is VALID [2021-09-13 23:55:28,932 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 1 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:55:28,932 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 23:55:29,180 WARN L870 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2021-09-13 23:55:30,172 INFO L281 TraceCheckUtils]: 37: Hoare triple {7093#(= _destroy_in_nondeterministic_order_~succ~0.offset 0)} assume !(0 == ~succ~0.offset); {7063#false} is VALID [2021-09-13 23:55:30,173 INFO L281 TraceCheckUtils]: 36: Hoare triple {7093#(= _destroy_in_nondeterministic_order_~succ~0.offset 0)} assume 0 != #t~nondet9;havoc #t~nondet9; {7093#(= _destroy_in_nondeterministic_order_~succ~0.offset 0)} is VALID [2021-09-13 23:55:30,173 INFO L281 TraceCheckUtils]: 35: Hoare triple {7093#(= _destroy_in_nondeterministic_order_~succ~0.offset 0)} assume !(0 != #t~nondet7);havoc #t~nondet7;assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {7093#(= _destroy_in_nondeterministic_order_~succ~0.offset 0)} is VALID [2021-09-13 23:55:30,174 INFO L281 TraceCheckUtils]: 34: Hoare triple {7092#(= |_destroy_in_nondeterministic_order_#t~mem6.offset| 0)} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647; {7093#(= _destroy_in_nondeterministic_order_~succ~0.offset 0)} is VALID [2021-09-13 23:55:30,174 INFO L281 TraceCheckUtils]: 33: Hoare triple {7091#(= 0 (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4); srcloc: L587 {7092#(= |_destroy_in_nondeterministic_order_#t~mem6.offset| 0)} is VALID [2021-09-13 23:55:30,175 INFO L281 TraceCheckUtils]: 32: Hoare triple {7091#(= 0 (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {7091#(= 0 (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))} is VALID [2021-09-13 23:55:30,175 INFO L281 TraceCheckUtils]: 31: Hoare triple {7091#(= 0 (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, 4 + ~head.offset, 4); srcloc: L586 {7091#(= 0 (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))} is VALID [2021-09-13 23:55:30,175 INFO L281 TraceCheckUtils]: 30: Hoare triple {7090#(= (select (select |#memory_$Pointer$.offset| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|) 0)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {7091#(= 0 (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))} is VALID [2021-09-13 23:55:30,176 INFO L264 TraceCheckUtils]: 29: Hoare triple {7089#(= (select (select |#memory_$Pointer$.offset| main_~head~1.base) main_~head~1.offset) 0)} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {7090#(= (select (select |#memory_$Pointer$.offset| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|) 0)} is VALID [2021-09-13 23:55:30,176 INFO L281 TraceCheckUtils]: 28: Hoare triple {7088#(= (select (select |#memory_$Pointer$.offset| |main_#t~ret12.base|) |main_#t~ret12.offset|) 0)} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {7089#(= (select (select |#memory_$Pointer$.offset| main_~head~1.base) main_~head~1.offset) 0)} is VALID [2021-09-13 23:55:30,177 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {7108#(= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) 0)} {7062#true} #197#return; {7088#(= (select (select |#memory_$Pointer$.offset| |main_#t~ret12.base|) |main_#t~ret12.offset|) 0)} is VALID [2021-09-13 23:55:30,177 INFO L281 TraceCheckUtils]: 26: Hoare triple {7108#(= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) 0)} assume true; {7108#(= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) 0)} is VALID [2021-09-13 23:55:30,178 INFO L281 TraceCheckUtils]: 25: Hoare triple {7107#(= (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) 0)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {7108#(= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) 0)} is VALID [2021-09-13 23:55:30,179 INFO L281 TraceCheckUtils]: 24: Hoare triple {7107#(= (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) 0)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {7107#(= (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) 0)} is VALID [2021-09-13 23:55:30,179 INFO L281 TraceCheckUtils]: 23: Hoare triple {7282#(= (select (select (store |#memory_$Pointer$.offset| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.offset)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) 0)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {7107#(= (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) 0)} is VALID [2021-09-13 23:55:30,179 INFO L281 TraceCheckUtils]: 22: Hoare triple {7282#(= (select (select (store |#memory_$Pointer$.offset| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.offset)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) 0)} assume !(~len > 1); {7282#(= (select (select (store |#memory_$Pointer$.offset| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.offset)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) 0)} is VALID [2021-09-13 23:55:30,180 INFO L281 TraceCheckUtils]: 21: Hoare triple {7289#(= (select (select (store |#memory_$Pointer$.offset| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~new_head~0.offset)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) 0)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {7282#(= (select (select (store |#memory_$Pointer$.offset| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.offset)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) 0)} is VALID [2021-09-13 23:55:30,180 INFO L281 TraceCheckUtils]: 20: Hoare triple {7293#(= (select (select (store (store |#memory_$Pointer$.offset| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.offset)) dll_circular_create_~last~0.base (store (select (store |#memory_$Pointer$.offset| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.offset)) dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~new_head~0.offset)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) 0)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {7289#(= (select (select (store |#memory_$Pointer$.offset| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~new_head~0.offset)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) 0)} is VALID [2021-09-13 23:55:30,182 INFO L281 TraceCheckUtils]: 19: Hoare triple {7297#(or (and (or (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))) (or (and (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base) (= dll_circular_create_~new_head~0.offset (+ dll_circular_create_~head~0.offset 4))) (and (= dll_circular_create_~head~0.offset 0) (or (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (not (= dll_circular_create_~new_head~0.offset (+ dll_circular_create_~head~0.offset 4))))))) (and (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {7293#(= (select (select (store (store |#memory_$Pointer$.offset| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.offset)) dll_circular_create_~last~0.base (store (select (store |#memory_$Pointer$.offset| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.offset)) dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~new_head~0.offset)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) 0)} is VALID [2021-09-13 23:55:30,182 INFO L281 TraceCheckUtils]: 18: Hoare triple {7297#(or (and (or (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))) (or (and (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base) (= dll_circular_create_~new_head~0.offset (+ dll_circular_create_~head~0.offset 4))) (and (= dll_circular_create_~head~0.offset 0) (or (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (not (= dll_circular_create_~new_head~0.offset (+ dll_circular_create_~head~0.offset 4))))))) (and (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset)))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {7297#(or (and (or (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))) (or (and (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base) (= dll_circular_create_~new_head~0.offset (+ dll_circular_create_~head~0.offset 4))) (and (= dll_circular_create_~head~0.offset 0) (or (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (not (= dll_circular_create_~new_head~0.offset (+ dll_circular_create_~head~0.offset 4))))))) (and (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset)))} is VALID [2021-09-13 23:55:30,183 INFO L281 TraceCheckUtils]: 17: Hoare triple {7304#(or (forall ((v_dll_circular_create_~new_head~0.base_16 Int)) (or (not (= (select |#valid| v_dll_circular_create_~new_head~0.base_16) 0)) (and (= v_dll_circular_create_~new_head~0.base_16 dll_circular_create_~last~0.base) (= dll_circular_create_~last~0.offset 0)) (and (= dll_circular_create_~head~0.base v_dll_circular_create_~new_head~0.base_16) (= 0 (+ dll_circular_create_~head~0.offset 4))))) (= dll_circular_create_~head~0.offset 0))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {7297#(or (and (or (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))) (or (and (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base) (= dll_circular_create_~new_head~0.offset (+ dll_circular_create_~head~0.offset 4))) (and (= dll_circular_create_~head~0.offset 0) (or (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (not (= dll_circular_create_~new_head~0.offset (+ dll_circular_create_~head~0.offset 4))))))) (and (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset)))} is VALID [2021-09-13 23:55:30,184 INFO L281 TraceCheckUtils]: 16: Hoare triple {7308#(or (forall ((v_dll_circular_create_~new_head~0.base_16 Int)) (or (and (= dll_circular_create_~new_head~0.base v_dll_circular_create_~new_head~0.base_16) (= (+ dll_circular_create_~new_head~0.offset 4) 0)) (not (= (select |#valid| v_dll_circular_create_~new_head~0.base_16) 0)) (and (= v_dll_circular_create_~new_head~0.base_16 dll_circular_create_~last~0.base) (= dll_circular_create_~last~0.offset 0)))) (= dll_circular_create_~new_head~0.offset 0))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {7304#(or (forall ((v_dll_circular_create_~new_head~0.base_16 Int)) (or (not (= (select |#valid| v_dll_circular_create_~new_head~0.base_16) 0)) (and (= v_dll_circular_create_~new_head~0.base_16 dll_circular_create_~last~0.base) (= dll_circular_create_~last~0.offset 0)) (and (= dll_circular_create_~head~0.base v_dll_circular_create_~new_head~0.base_16) (= 0 (+ dll_circular_create_~head~0.offset 4))))) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:55:30,184 INFO L281 TraceCheckUtils]: 15: Hoare triple {7308#(or (forall ((v_dll_circular_create_~new_head~0.base_16 Int)) (or (and (= dll_circular_create_~new_head~0.base v_dll_circular_create_~new_head~0.base_16) (= (+ dll_circular_create_~new_head~0.offset 4) 0)) (not (= (select |#valid| v_dll_circular_create_~new_head~0.base_16) 0)) (and (= v_dll_circular_create_~new_head~0.base_16 dll_circular_create_~last~0.base) (= dll_circular_create_~last~0.offset 0)))) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {7308#(or (forall ((v_dll_circular_create_~new_head~0.base_16 Int)) (or (and (= dll_circular_create_~new_head~0.base v_dll_circular_create_~new_head~0.base_16) (= (+ dll_circular_create_~new_head~0.offset 4) 0)) (not (= (select |#valid| v_dll_circular_create_~new_head~0.base_16) 0)) (and (= v_dll_circular_create_~new_head~0.base_16 dll_circular_create_~last~0.base) (= dll_circular_create_~last~0.offset 0)))) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:55:30,184 INFO L281 TraceCheckUtils]: 14: Hoare triple {7308#(or (forall ((v_dll_circular_create_~new_head~0.base_16 Int)) (or (and (= dll_circular_create_~new_head~0.base v_dll_circular_create_~new_head~0.base_16) (= (+ dll_circular_create_~new_head~0.offset 4) 0)) (not (= (select |#valid| v_dll_circular_create_~new_head~0.base_16) 0)) (and (= v_dll_circular_create_~new_head~0.base_16 dll_circular_create_~last~0.base) (= dll_circular_create_~last~0.offset 0)))) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {7308#(or (forall ((v_dll_circular_create_~new_head~0.base_16 Int)) (or (and (= dll_circular_create_~new_head~0.base v_dll_circular_create_~new_head~0.base_16) (= (+ dll_circular_create_~new_head~0.offset 4) 0)) (not (= (select |#valid| v_dll_circular_create_~new_head~0.base_16) 0)) (and (= v_dll_circular_create_~new_head~0.base_16 dll_circular_create_~last~0.base) (= dll_circular_create_~last~0.offset 0)))) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:55:30,185 INFO L281 TraceCheckUtils]: 13: Hoare triple {7308#(or (forall ((v_dll_circular_create_~new_head~0.base_16 Int)) (or (and (= dll_circular_create_~new_head~0.base v_dll_circular_create_~new_head~0.base_16) (= (+ dll_circular_create_~new_head~0.offset 4) 0)) (not (= (select |#valid| v_dll_circular_create_~new_head~0.base_16) 0)) (and (= v_dll_circular_create_~new_head~0.base_16 dll_circular_create_~last~0.base) (= dll_circular_create_~last~0.offset 0)))) (= dll_circular_create_~new_head~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {7308#(or (forall ((v_dll_circular_create_~new_head~0.base_16 Int)) (or (and (= dll_circular_create_~new_head~0.base v_dll_circular_create_~new_head~0.base_16) (= (+ dll_circular_create_~new_head~0.offset 4) 0)) (not (= (select |#valid| v_dll_circular_create_~new_head~0.base_16) 0)) (and (= v_dll_circular_create_~new_head~0.base_16 dll_circular_create_~last~0.base) (= dll_circular_create_~last~0.offset 0)))) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:55:30,185 INFO L281 TraceCheckUtils]: 12: Hoare triple {7062#true} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {7308#(or (forall ((v_dll_circular_create_~new_head~0.base_16 Int)) (or (and (= dll_circular_create_~new_head~0.base v_dll_circular_create_~new_head~0.base_16) (= (+ dll_circular_create_~new_head~0.offset 4) 0)) (not (= (select |#valid| v_dll_circular_create_~new_head~0.base_16) 0)) (and (= v_dll_circular_create_~new_head~0.base_16 dll_circular_create_~last~0.base) (= dll_circular_create_~last~0.offset 0)))) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:55:30,185 INFO L281 TraceCheckUtils]: 11: Hoare triple {7062#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {7062#true} is VALID [2021-09-13 23:55:30,185 INFO L281 TraceCheckUtils]: 10: Hoare triple {7062#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {7062#true} is VALID [2021-09-13 23:55:30,186 INFO L281 TraceCheckUtils]: 9: Hoare triple {7062#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {7062#true} is VALID [2021-09-13 23:55:30,186 INFO L281 TraceCheckUtils]: 8: Hoare triple {7062#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {7062#true} is VALID [2021-09-13 23:55:30,186 INFO L281 TraceCheckUtils]: 7: Hoare triple {7062#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {7062#true} is VALID [2021-09-13 23:55:30,186 INFO L264 TraceCheckUtils]: 6: Hoare triple {7062#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {7062#true} is VALID [2021-09-13 23:55:30,186 INFO L281 TraceCheckUtils]: 5: Hoare triple {7062#true} ~len~0 := 3; {7062#true} is VALID [2021-09-13 23:55:30,186 INFO L264 TraceCheckUtils]: 4: Hoare triple {7062#true} call #t~ret13 := main(); {7062#true} is VALID [2021-09-13 23:55:30,186 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {7062#true} {7062#true} #201#return; {7062#true} is VALID [2021-09-13 23:55:30,186 INFO L281 TraceCheckUtils]: 2: Hoare triple {7062#true} assume true; {7062#true} is VALID [2021-09-13 23:55:30,187 INFO L281 TraceCheckUtils]: 1: Hoare triple {7062#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {7062#true} is VALID [2021-09-13 23:55:30,187 INFO L264 TraceCheckUtils]: 0: Hoare triple {7062#true} call ULTIMATE.init(); {7062#true} is VALID [2021-09-13 23:55:30,187 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 2 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:55:30,187 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1443867629] provided 0 perfect and 2 imperfect interpolant sequences [2021-09-13 23:55:30,187 INFO L186 FreeRefinementEngine]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2021-09-13 23:55:30,187 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 17, 15] total 42 [2021-09-13 23:55:30,188 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1198724029] [2021-09-13 23:55:30,188 INFO L78 Accepts]: Start accepts. Automaton has has 43 states, 40 states have (on average 1.9) internal successors, (76), 37 states have internal predecessors, (76), 3 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) Word has length 38 [2021-09-13 23:55:30,189 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:55:30,189 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 43 states, 40 states have (on average 1.9) internal successors, (76), 37 states have internal predecessors, (76), 3 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-13 23:55:30,263 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:30,263 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 43 states [2021-09-13 23:55:30,263 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 23:55:30,263 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 43 interpolants. [2021-09-13 23:55:30,264 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=152, Invalid=1654, Unknown=0, NotChecked=0, Total=1806 [2021-09-13 23:55:30,264 INFO L87 Difference]: Start difference. First operand 123 states and 128 transitions. Second operand has 43 states, 40 states have (on average 1.9) internal successors, (76), 37 states have internal predecessors, (76), 3 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-13 23:55:32,238 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:32,238 INFO L93 Difference]: Finished difference Result 119 states and 124 transitions. [2021-09-13 23:55:32,239 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2021-09-13 23:55:32,239 INFO L78 Accepts]: Start accepts. Automaton has has 43 states, 40 states have (on average 1.9) internal successors, (76), 37 states have internal predecessors, (76), 3 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) Word has length 38 [2021-09-13 23:55:32,240 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:55:32,241 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 40 states have (on average 1.9) internal successors, (76), 37 states have internal predecessors, (76), 3 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-13 23:55:32,242 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 127 transitions. [2021-09-13 23:55:32,242 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 40 states have (on average 1.9) internal successors, (76), 37 states have internal predecessors, (76), 3 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-13 23:55:32,243 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 127 transitions. [2021-09-13 23:55:32,243 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 127 transitions. [2021-09-13 23:55:32,326 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 127 edges. 127 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:32,327 INFO L225 Difference]: With dead ends: 119 [2021-09-13 23:55:32,328 INFO L226 Difference]: Without dead ends: 119 [2021-09-13 23:55:32,328 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 108 GetRequests, 57 SyntacticMatches, 1 SemanticMatches, 50 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 508 ImplicationChecksByTransitivity, 1301.33ms TimeCoverageRelationStatistics Valid=304, Invalid=2348, Unknown=0, NotChecked=0, Total=2652 [2021-09-13 23:55:32,329 INFO L928 BasicCegarLoop]: 7 mSDtfsCounter, 108 mSDsluCounter, 1556 mSDsCounter, 0 mSdLazyCounter, 1728 mSolverCounterSat, 33 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 860.14ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 108 SdHoareTripleChecker+Valid, 92 SdHoareTripleChecker+Invalid, 2205 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 5.00ms SdHoareTripleChecker+Time, 33 IncrementalHoareTripleChecker+Valid, 1728 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 444 IncrementalHoareTripleChecker+Unchecked, 867.30ms IncrementalHoareTripleChecker+Time [2021-09-13 23:55:32,329 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [108 Valid, 92 Invalid, 2205 Unknown, 0 Unchecked, 5.00ms Time], IncrementalHoareTripleChecker [33 Valid, 1728 Invalid, 0 Unknown, 444 Unchecked, 867.30ms Time] [2021-09-13 23:55:32,330 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 119 states. [2021-09-13 23:55:32,332 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 119 to 119. [2021-09-13 23:55:32,332 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:55:32,333 INFO L82 GeneralOperation]: Start isEquivalent. First operand 119 states. Second operand has 119 states, 79 states have (on average 1.481012658227848) internal successors, (117), 111 states have internal predecessors, (117), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:32,333 INFO L74 IsIncluded]: Start isIncluded. First operand 119 states. Second operand has 119 states, 79 states have (on average 1.481012658227848) internal successors, (117), 111 states have internal predecessors, (117), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:32,333 INFO L87 Difference]: Start difference. First operand 119 states. Second operand has 119 states, 79 states have (on average 1.481012658227848) internal successors, (117), 111 states have internal predecessors, (117), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:32,334 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:32,334 INFO L93 Difference]: Finished difference Result 119 states and 124 transitions. [2021-09-13 23:55:32,335 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 124 transitions. [2021-09-13 23:55:32,335 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:32,335 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:32,335 INFO L74 IsIncluded]: Start isIncluded. First operand has 119 states, 79 states have (on average 1.481012658227848) internal successors, (117), 111 states have internal predecessors, (117), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 119 states. [2021-09-13 23:55:32,335 INFO L87 Difference]: Start difference. First operand has 119 states, 79 states have (on average 1.481012658227848) internal successors, (117), 111 states have internal predecessors, (117), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 119 states. [2021-09-13 23:55:32,337 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:32,337 INFO L93 Difference]: Finished difference Result 119 states and 124 transitions. [2021-09-13 23:55:32,337 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 124 transitions. [2021-09-13 23:55:32,337 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:32,337 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:32,337 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:55:32,337 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:55:32,338 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 119 states, 79 states have (on average 1.481012658227848) internal successors, (117), 111 states have internal predecessors, (117), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:32,339 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 119 states to 119 states and 124 transitions. [2021-09-13 23:55:32,339 INFO L78 Accepts]: Start accepts. Automaton has 119 states and 124 transitions. Word has length 38 [2021-09-13 23:55:32,339 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:55:32,339 INFO L470 AbstractCegarLoop]: Abstraction has 119 states and 124 transitions. [2021-09-13 23:55:32,339 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 43 states, 40 states have (on average 1.9) internal successors, (76), 37 states have internal predecessors, (76), 3 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-13 23:55:32,339 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 124 transitions. [2021-09-13 23:55:32,340 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2021-09-13 23:55:32,340 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:55:32,341 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1] [2021-09-13 23:55:32,359 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2021-09-13 23:55:32,548 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 23:55:32,549 INFO L402 AbstractCegarLoop]: === Iteration 14 === Targeting _destroy_in_nondeterministic_orderErr34ASSERT_VIOLATIONMEMORY_FREE === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:55:32,549 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:55:32,550 INFO L82 PathProgramCache]: Analyzing trace with hash -1282424908, now seen corresponding path program 1 times [2021-09-13 23:55:32,550 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 23:55:32,550 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1709639811] [2021-09-13 23:55:32,550 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:55:32,550 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 23:55:32,567 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:32,670 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2021-09-13 23:55:32,671 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:32,673 INFO L281 TraceCheckUtils]: 0: Hoare triple {7883#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {7851#true} is VALID [2021-09-13 23:55:32,673 INFO L281 TraceCheckUtils]: 1: Hoare triple {7851#true} assume true; {7851#true} is VALID [2021-09-13 23:55:32,673 INFO L276 TraceCheckUtils]: 2: Hoare quadruple {7851#true} {7851#true} #201#return; {7851#true} is VALID [2021-09-13 23:55:32,682 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2021-09-13 23:55:32,691 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:32,784 INFO L281 TraceCheckUtils]: 0: Hoare triple {7884#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {7885#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:55:32,785 INFO L281 TraceCheckUtils]: 1: Hoare triple {7885#(= dll_circular_create_~last~0.offset 0)} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {7885#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:55:32,786 INFO L281 TraceCheckUtils]: 2: Hoare triple {7885#(= dll_circular_create_~last~0.offset 0)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {7885#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:55:32,786 INFO L281 TraceCheckUtils]: 3: Hoare triple {7885#(= dll_circular_create_~last~0.offset 0)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {7885#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:55:32,786 INFO L281 TraceCheckUtils]: 4: Hoare triple {7885#(= dll_circular_create_~last~0.offset 0)} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {7885#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:55:32,786 INFO L281 TraceCheckUtils]: 5: Hoare triple {7885#(= dll_circular_create_~last~0.offset 0)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {7885#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:55:32,787 INFO L281 TraceCheckUtils]: 6: Hoare triple {7885#(= dll_circular_create_~last~0.offset 0)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {7885#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:55:32,787 INFO L281 TraceCheckUtils]: 7: Hoare triple {7885#(= dll_circular_create_~last~0.offset 0)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {7885#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:55:32,787 INFO L281 TraceCheckUtils]: 8: Hoare triple {7885#(= dll_circular_create_~last~0.offset 0)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {7885#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:55:32,787 INFO L281 TraceCheckUtils]: 9: Hoare triple {7885#(= dll_circular_create_~last~0.offset 0)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {7885#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:55:32,788 INFO L281 TraceCheckUtils]: 10: Hoare triple {7885#(= dll_circular_create_~last~0.offset 0)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {7886#(and (= dll_circular_create_~last~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} is VALID [2021-09-13 23:55:32,788 INFO L281 TraceCheckUtils]: 11: Hoare triple {7886#(and (= dll_circular_create_~last~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {7886#(and (= dll_circular_create_~last~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} is VALID [2021-09-13 23:55:32,789 INFO L281 TraceCheckUtils]: 12: Hoare triple {7886#(and (= dll_circular_create_~last~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {7886#(and (= dll_circular_create_~last~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} is VALID [2021-09-13 23:55:32,789 INFO L281 TraceCheckUtils]: 13: Hoare triple {7886#(and (= dll_circular_create_~last~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {7886#(and (= dll_circular_create_~last~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} is VALID [2021-09-13 23:55:32,790 INFO L281 TraceCheckUtils]: 14: Hoare triple {7886#(and (= dll_circular_create_~last~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {7887#(and (= dll_circular_create_~last~0.offset 0) (= dll_circular_create_~head~0.offset dll_circular_create_~last~0.offset))} is VALID [2021-09-13 23:55:32,790 INFO L281 TraceCheckUtils]: 15: Hoare triple {7887#(and (= dll_circular_create_~last~0.offset 0) (= dll_circular_create_~head~0.offset dll_circular_create_~last~0.offset))} assume !(~len > 1); {7887#(and (= dll_circular_create_~last~0.offset 0) (= dll_circular_create_~head~0.offset dll_circular_create_~last~0.offset))} is VALID [2021-09-13 23:55:32,790 INFO L281 TraceCheckUtils]: 16: Hoare triple {7887#(and (= dll_circular_create_~last~0.offset 0) (= dll_circular_create_~head~0.offset dll_circular_create_~last~0.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {7887#(and (= dll_circular_create_~last~0.offset 0) (= dll_circular_create_~head~0.offset dll_circular_create_~last~0.offset))} is VALID [2021-09-13 23:55:32,791 INFO L281 TraceCheckUtils]: 17: Hoare triple {7887#(and (= dll_circular_create_~last~0.offset 0) (= dll_circular_create_~head~0.offset dll_circular_create_~last~0.offset))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {7888#(and (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) 4) 0) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:55:32,791 INFO L281 TraceCheckUtils]: 18: Hoare triple {7888#(and (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) 4) 0) (= dll_circular_create_~head~0.offset 0))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {7889#(and (<= 0 |dll_circular_create_#res.offset|) (= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) 4) 0) (<= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:55:32,792 INFO L281 TraceCheckUtils]: 19: Hoare triple {7889#(and (<= 0 |dll_circular_create_#res.offset|) (= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) 4) 0) (<= |dll_circular_create_#res.offset| 0))} assume true; {7889#(and (<= 0 |dll_circular_create_#res.offset|) (= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) 4) 0) (<= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:55:32,792 INFO L276 TraceCheckUtils]: 20: Hoare quadruple {7889#(and (<= 0 |dll_circular_create_#res.offset|) (= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) 4) 0) (<= |dll_circular_create_#res.offset| 0))} {7851#true} #197#return; {7877#(and (= |main_#t~ret12.offset| 0) (= (select (select |#memory_$Pointer$.offset| |main_#t~ret12.base|) 4) 0))} is VALID [2021-09-13 23:55:32,793 INFO L264 TraceCheckUtils]: 0: Hoare triple {7851#true} call ULTIMATE.init(); {7883#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2021-09-13 23:55:32,793 INFO L281 TraceCheckUtils]: 1: Hoare triple {7883#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {7851#true} is VALID [2021-09-13 23:55:32,793 INFO L281 TraceCheckUtils]: 2: Hoare triple {7851#true} assume true; {7851#true} is VALID [2021-09-13 23:55:32,793 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {7851#true} {7851#true} #201#return; {7851#true} is VALID [2021-09-13 23:55:32,793 INFO L264 TraceCheckUtils]: 4: Hoare triple {7851#true} call #t~ret13 := main(); {7851#true} is VALID [2021-09-13 23:55:32,794 INFO L281 TraceCheckUtils]: 5: Hoare triple {7851#true} ~len~0 := 3; {7851#true} is VALID [2021-09-13 23:55:32,794 INFO L264 TraceCheckUtils]: 6: Hoare triple {7851#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {7884#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2021-09-13 23:55:32,794 INFO L281 TraceCheckUtils]: 7: Hoare triple {7884#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {7885#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:55:32,795 INFO L281 TraceCheckUtils]: 8: Hoare triple {7885#(= dll_circular_create_~last~0.offset 0)} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {7885#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:55:32,795 INFO L281 TraceCheckUtils]: 9: Hoare triple {7885#(= dll_circular_create_~last~0.offset 0)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {7885#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:55:32,795 INFO L281 TraceCheckUtils]: 10: Hoare triple {7885#(= dll_circular_create_~last~0.offset 0)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {7885#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:55:32,795 INFO L281 TraceCheckUtils]: 11: Hoare triple {7885#(= dll_circular_create_~last~0.offset 0)} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {7885#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:55:32,796 INFO L281 TraceCheckUtils]: 12: Hoare triple {7885#(= dll_circular_create_~last~0.offset 0)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {7885#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:55:32,796 INFO L281 TraceCheckUtils]: 13: Hoare triple {7885#(= dll_circular_create_~last~0.offset 0)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {7885#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:55:32,796 INFO L281 TraceCheckUtils]: 14: Hoare triple {7885#(= dll_circular_create_~last~0.offset 0)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {7885#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:55:32,796 INFO L281 TraceCheckUtils]: 15: Hoare triple {7885#(= dll_circular_create_~last~0.offset 0)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {7885#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:55:32,797 INFO L281 TraceCheckUtils]: 16: Hoare triple {7885#(= dll_circular_create_~last~0.offset 0)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {7885#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:55:32,797 INFO L281 TraceCheckUtils]: 17: Hoare triple {7885#(= dll_circular_create_~last~0.offset 0)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {7886#(and (= dll_circular_create_~last~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} is VALID [2021-09-13 23:55:32,797 INFO L281 TraceCheckUtils]: 18: Hoare triple {7886#(and (= dll_circular_create_~last~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {7886#(and (= dll_circular_create_~last~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} is VALID [2021-09-13 23:55:32,798 INFO L281 TraceCheckUtils]: 19: Hoare triple {7886#(and (= dll_circular_create_~last~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {7886#(and (= dll_circular_create_~last~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} is VALID [2021-09-13 23:55:32,798 INFO L281 TraceCheckUtils]: 20: Hoare triple {7886#(and (= dll_circular_create_~last~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {7886#(and (= dll_circular_create_~last~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} is VALID [2021-09-13 23:55:32,799 INFO L281 TraceCheckUtils]: 21: Hoare triple {7886#(and (= dll_circular_create_~last~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {7887#(and (= dll_circular_create_~last~0.offset 0) (= dll_circular_create_~head~0.offset dll_circular_create_~last~0.offset))} is VALID [2021-09-13 23:55:32,799 INFO L281 TraceCheckUtils]: 22: Hoare triple {7887#(and (= dll_circular_create_~last~0.offset 0) (= dll_circular_create_~head~0.offset dll_circular_create_~last~0.offset))} assume !(~len > 1); {7887#(and (= dll_circular_create_~last~0.offset 0) (= dll_circular_create_~head~0.offset dll_circular_create_~last~0.offset))} is VALID [2021-09-13 23:55:32,799 INFO L281 TraceCheckUtils]: 23: Hoare triple {7887#(and (= dll_circular_create_~last~0.offset 0) (= dll_circular_create_~head~0.offset dll_circular_create_~last~0.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {7887#(and (= dll_circular_create_~last~0.offset 0) (= dll_circular_create_~head~0.offset dll_circular_create_~last~0.offset))} is VALID [2021-09-13 23:55:32,800 INFO L281 TraceCheckUtils]: 24: Hoare triple {7887#(and (= dll_circular_create_~last~0.offset 0) (= dll_circular_create_~head~0.offset dll_circular_create_~last~0.offset))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {7888#(and (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) 4) 0) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:55:32,800 INFO L281 TraceCheckUtils]: 25: Hoare triple {7888#(and (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) 4) 0) (= dll_circular_create_~head~0.offset 0))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {7889#(and (<= 0 |dll_circular_create_#res.offset|) (= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) 4) 0) (<= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:55:32,801 INFO L281 TraceCheckUtils]: 26: Hoare triple {7889#(and (<= 0 |dll_circular_create_#res.offset|) (= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) 4) 0) (<= |dll_circular_create_#res.offset| 0))} assume true; {7889#(and (<= 0 |dll_circular_create_#res.offset|) (= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) 4) 0) (<= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:55:32,801 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {7889#(and (<= 0 |dll_circular_create_#res.offset|) (= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) 4) 0) (<= |dll_circular_create_#res.offset| 0))} {7851#true} #197#return; {7877#(and (= |main_#t~ret12.offset| 0) (= (select (select |#memory_$Pointer$.offset| |main_#t~ret12.base|) 4) 0))} is VALID [2021-09-13 23:55:32,802 INFO L281 TraceCheckUtils]: 28: Hoare triple {7877#(and (= |main_#t~ret12.offset| 0) (= (select (select |#memory_$Pointer$.offset| |main_#t~ret12.base|) 4) 0))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {7878#(and (= (select (select |#memory_$Pointer$.offset| main_~head~1.base) 4) 0) (= 0 main_~head~1.offset))} is VALID [2021-09-13 23:55:32,802 INFO L264 TraceCheckUtils]: 29: Hoare triple {7878#(and (= (select (select |#memory_$Pointer$.offset| main_~head~1.base) 4) 0) (= 0 main_~head~1.offset))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {7879#(and (= (select (select |#memory_$Pointer$.offset| |_destroy_in_nondeterministic_order_#in~head.base|) 4) 0) (= |_destroy_in_nondeterministic_order_#in~head.offset| 0))} is VALID [2021-09-13 23:55:32,803 INFO L281 TraceCheckUtils]: 30: Hoare triple {7879#(and (= (select (select |#memory_$Pointer$.offset| |_destroy_in_nondeterministic_order_#in~head.base|) 4) 0) (= |_destroy_in_nondeterministic_order_#in~head.offset| 0))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {7880#(= (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)) 0)} is VALID [2021-09-13 23:55:32,803 INFO L281 TraceCheckUtils]: 31: Hoare triple {7880#(= (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)) 0)} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, 4 + ~head.offset, 4); srcloc: L586 {7881#(= |_destroy_in_nondeterministic_order_#t~mem5.offset| 0)} is VALID [2021-09-13 23:55:32,803 INFO L281 TraceCheckUtils]: 32: Hoare triple {7881#(= |_destroy_in_nondeterministic_order_#t~mem5.offset| 0)} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {7882#(= _destroy_in_nondeterministic_order_~pred~0.offset 0)} is VALID [2021-09-13 23:55:32,804 INFO L281 TraceCheckUtils]: 33: Hoare triple {7882#(= _destroy_in_nondeterministic_order_~pred~0.offset 0)} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4); srcloc: L587 {7882#(= _destroy_in_nondeterministic_order_~pred~0.offset 0)} is VALID [2021-09-13 23:55:32,804 INFO L281 TraceCheckUtils]: 34: Hoare triple {7882#(= _destroy_in_nondeterministic_order_~pred~0.offset 0)} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647; {7882#(= _destroy_in_nondeterministic_order_~pred~0.offset 0)} is VALID [2021-09-13 23:55:32,804 INFO L281 TraceCheckUtils]: 35: Hoare triple {7882#(= _destroy_in_nondeterministic_order_~pred~0.offset 0)} assume !(0 != #t~nondet7);havoc #t~nondet7;assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {7882#(= _destroy_in_nondeterministic_order_~pred~0.offset 0)} is VALID [2021-09-13 23:55:32,805 INFO L281 TraceCheckUtils]: 36: Hoare triple {7882#(= _destroy_in_nondeterministic_order_~pred~0.offset 0)} assume !(0 != #t~nondet9);havoc #t~nondet9; {7882#(= _destroy_in_nondeterministic_order_~pred~0.offset 0)} is VALID [2021-09-13 23:55:32,805 INFO L281 TraceCheckUtils]: 37: Hoare triple {7882#(= _destroy_in_nondeterministic_order_~pred~0.offset 0)} assume !(0 == ~pred~0.offset); {7852#false} is VALID [2021-09-13 23:55:32,805 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2021-09-13 23:55:32,805 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 23:55:32,805 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1709639811] [2021-09-13 23:55:32,806 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1709639811] provided 1 perfect and 0 imperfect interpolant sequences [2021-09-13 23:55:32,806 INFO L186 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2021-09-13 23:55:32,806 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2021-09-13 23:55:32,806 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1760822928] [2021-09-13 23:55:32,807 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 11 states have internal predecessors, (32), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 38 [2021-09-13 23:55:32,807 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:55:32,807 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 15 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 11 states have internal predecessors, (32), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:55:32,827 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:32,828 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2021-09-13 23:55:32,828 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 23:55:32,828 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2021-09-13 23:55:32,828 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=181, Unknown=0, NotChecked=0, Total=210 [2021-09-13 23:55:32,829 INFO L87 Difference]: Start difference. First operand 119 states and 124 transitions. Second operand has 15 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 11 states have internal predecessors, (32), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:55:34,124 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:34,125 INFO L93 Difference]: Finished difference Result 114 states and 119 transitions. [2021-09-13 23:55:34,125 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2021-09-13 23:55:34,125 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 11 states have internal predecessors, (32), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 38 [2021-09-13 23:55:34,125 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:55:34,126 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 11 states have internal predecessors, (32), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:55:34,128 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 119 transitions. [2021-09-13 23:55:34,128 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 11 states have internal predecessors, (32), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:55:34,129 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 119 transitions. [2021-09-13 23:55:34,129 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 119 transitions. [2021-09-13 23:55:34,248 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 119 edges. 119 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:34,250 INFO L225 Difference]: With dead ends: 114 [2021-09-13 23:55:34,250 INFO L226 Difference]: Without dead ends: 114 [2021-09-13 23:55:34,251 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 26 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 40 ImplicationChecksByTransitivity, 253.76ms TimeCoverageRelationStatistics Valid=94, Invalid=458, Unknown=0, NotChecked=0, Total=552 [2021-09-13 23:55:34,251 INFO L928 BasicCegarLoop]: 6 mSDtfsCounter, 290 mSDsluCounter, 418 mSDsCounter, 0 mSdLazyCounter, 1095 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 543.97ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 291 SdHoareTripleChecker+Valid, 50 SdHoareTripleChecker+Invalid, 1121 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 2.96ms SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 1095 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 548.28ms IncrementalHoareTripleChecker+Time [2021-09-13 23:55:34,252 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [291 Valid, 50 Invalid, 1121 Unknown, 0 Unchecked, 2.96ms Time], IncrementalHoareTripleChecker [26 Valid, 1095 Invalid, 0 Unknown, 0 Unchecked, 548.28ms Time] [2021-09-13 23:55:34,252 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 114 states. [2021-09-13 23:55:34,253 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 114 to 114. [2021-09-13 23:55:34,253 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:55:34,254 INFO L82 GeneralOperation]: Start isEquivalent. First operand 114 states. Second operand has 114 states, 79 states have (on average 1.4177215189873418) internal successors, (112), 106 states have internal predecessors, (112), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:34,254 INFO L74 IsIncluded]: Start isIncluded. First operand 114 states. Second operand has 114 states, 79 states have (on average 1.4177215189873418) internal successors, (112), 106 states have internal predecessors, (112), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:34,254 INFO L87 Difference]: Start difference. First operand 114 states. Second operand has 114 states, 79 states have (on average 1.4177215189873418) internal successors, (112), 106 states have internal predecessors, (112), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:34,257 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:34,257 INFO L93 Difference]: Finished difference Result 114 states and 119 transitions. [2021-09-13 23:55:34,257 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 119 transitions. [2021-09-13 23:55:34,257 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:34,257 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:34,260 INFO L74 IsIncluded]: Start isIncluded. First operand has 114 states, 79 states have (on average 1.4177215189873418) internal successors, (112), 106 states have internal predecessors, (112), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 114 states. [2021-09-13 23:55:34,260 INFO L87 Difference]: Start difference. First operand has 114 states, 79 states have (on average 1.4177215189873418) internal successors, (112), 106 states have internal predecessors, (112), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 114 states. [2021-09-13 23:55:34,261 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:34,261 INFO L93 Difference]: Finished difference Result 114 states and 119 transitions. [2021-09-13 23:55:34,261 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 119 transitions. [2021-09-13 23:55:34,261 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:34,262 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:34,262 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:55:34,262 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:55:34,262 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 114 states, 79 states have (on average 1.4177215189873418) internal successors, (112), 106 states have internal predecessors, (112), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:34,263 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 114 states to 114 states and 119 transitions. [2021-09-13 23:55:34,263 INFO L78 Accepts]: Start accepts. Automaton has 114 states and 119 transitions. Word has length 38 [2021-09-13 23:55:34,263 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:55:34,263 INFO L470 AbstractCegarLoop]: Abstraction has 114 states and 119 transitions. [2021-09-13 23:55:34,264 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 11 states have internal predecessors, (32), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:55:34,264 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 119 transitions. [2021-09-13 23:55:34,264 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2021-09-13 23:55:34,264 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:55:34,264 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1] [2021-09-13 23:55:34,264 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13 [2021-09-13 23:55:34,265 INFO L402 AbstractCegarLoop]: === Iteration 15 === Targeting _destroy_in_nondeterministic_orderErr5ASSERT_VIOLATIONMEMORY_FREE === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:55:34,265 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:55:34,265 INFO L82 PathProgramCache]: Analyzing trace with hash -1282463890, now seen corresponding path program 1 times [2021-09-13 23:55:34,265 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 23:55:34,265 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [166337445] [2021-09-13 23:55:34,265 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:55:34,265 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 23:55:34,273 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:34,322 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2021-09-13 23:55:34,322 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:34,324 INFO L281 TraceCheckUtils]: 0: Hoare triple {8397#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {8367#true} is VALID [2021-09-13 23:55:34,324 INFO L281 TraceCheckUtils]: 1: Hoare triple {8367#true} assume true; {8367#true} is VALID [2021-09-13 23:55:34,325 INFO L276 TraceCheckUtils]: 2: Hoare quadruple {8367#true} {8367#true} #201#return; {8367#true} is VALID [2021-09-13 23:55:34,333 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2021-09-13 23:55:34,338 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:34,371 INFO L281 TraceCheckUtils]: 0: Hoare triple {8398#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {8367#true} is VALID [2021-09-13 23:55:34,371 INFO L281 TraceCheckUtils]: 1: Hoare triple {8367#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {8367#true} is VALID [2021-09-13 23:55:34,371 INFO L281 TraceCheckUtils]: 2: Hoare triple {8367#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {8367#true} is VALID [2021-09-13 23:55:34,371 INFO L281 TraceCheckUtils]: 3: Hoare triple {8367#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {8367#true} is VALID [2021-09-13 23:55:34,371 INFO L281 TraceCheckUtils]: 4: Hoare triple {8367#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {8367#true} is VALID [2021-09-13 23:55:34,372 INFO L281 TraceCheckUtils]: 5: Hoare triple {8367#true} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {8367#true} is VALID [2021-09-13 23:55:34,372 INFO L281 TraceCheckUtils]: 6: Hoare triple {8367#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {8367#true} is VALID [2021-09-13 23:55:34,372 INFO L281 TraceCheckUtils]: 7: Hoare triple {8367#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {8367#true} is VALID [2021-09-13 23:55:34,372 INFO L281 TraceCheckUtils]: 8: Hoare triple {8367#true} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {8367#true} is VALID [2021-09-13 23:55:34,372 INFO L281 TraceCheckUtils]: 9: Hoare triple {8367#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {8367#true} is VALID [2021-09-13 23:55:34,373 INFO L281 TraceCheckUtils]: 10: Hoare triple {8367#true} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {8399#(<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:34,373 INFO L281 TraceCheckUtils]: 11: Hoare triple {8399#(<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {8399#(<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:34,373 INFO L281 TraceCheckUtils]: 12: Hoare triple {8399#(<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {8399#(<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:34,373 INFO L281 TraceCheckUtils]: 13: Hoare triple {8399#(<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {8399#(<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:34,374 INFO L281 TraceCheckUtils]: 14: Hoare triple {8399#(<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {8400#(<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:34,374 INFO L281 TraceCheckUtils]: 15: Hoare triple {8400#(<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|)} assume !(~len > 1); {8400#(<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:34,374 INFO L281 TraceCheckUtils]: 16: Hoare triple {8400#(<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {8400#(<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:34,375 INFO L281 TraceCheckUtils]: 17: Hoare triple {8400#(<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {8400#(<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:34,375 INFO L281 TraceCheckUtils]: 18: Hoare triple {8400#(<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {8401#(<= (+ |dll_circular_create_#res.base| 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:34,375 INFO L281 TraceCheckUtils]: 19: Hoare triple {8401#(<= (+ |dll_circular_create_#res.base| 1) |#StackHeapBarrier|)} assume true; {8401#(<= (+ |dll_circular_create_#res.base| 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:34,376 INFO L276 TraceCheckUtils]: 20: Hoare quadruple {8401#(<= (+ |dll_circular_create_#res.base| 1) |#StackHeapBarrier|)} {8367#true} #197#return; {8393#(<= (+ |main_#t~ret12.base| 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:34,376 INFO L264 TraceCheckUtils]: 0: Hoare triple {8367#true} call ULTIMATE.init(); {8397#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2021-09-13 23:55:34,377 INFO L281 TraceCheckUtils]: 1: Hoare triple {8397#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {8367#true} is VALID [2021-09-13 23:55:34,377 INFO L281 TraceCheckUtils]: 2: Hoare triple {8367#true} assume true; {8367#true} is VALID [2021-09-13 23:55:34,377 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {8367#true} {8367#true} #201#return; {8367#true} is VALID [2021-09-13 23:55:34,377 INFO L264 TraceCheckUtils]: 4: Hoare triple {8367#true} call #t~ret13 := main(); {8367#true} is VALID [2021-09-13 23:55:34,377 INFO L281 TraceCheckUtils]: 5: Hoare triple {8367#true} ~len~0 := 3; {8367#true} is VALID [2021-09-13 23:55:34,378 INFO L264 TraceCheckUtils]: 6: Hoare triple {8367#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {8398#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2021-09-13 23:55:34,378 INFO L281 TraceCheckUtils]: 7: Hoare triple {8398#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {8367#true} is VALID [2021-09-13 23:55:34,378 INFO L281 TraceCheckUtils]: 8: Hoare triple {8367#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {8367#true} is VALID [2021-09-13 23:55:34,378 INFO L281 TraceCheckUtils]: 9: Hoare triple {8367#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {8367#true} is VALID [2021-09-13 23:55:34,378 INFO L281 TraceCheckUtils]: 10: Hoare triple {8367#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {8367#true} is VALID [2021-09-13 23:55:34,378 INFO L281 TraceCheckUtils]: 11: Hoare triple {8367#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {8367#true} is VALID [2021-09-13 23:55:34,378 INFO L281 TraceCheckUtils]: 12: Hoare triple {8367#true} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {8367#true} is VALID [2021-09-13 23:55:34,378 INFO L281 TraceCheckUtils]: 13: Hoare triple {8367#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {8367#true} is VALID [2021-09-13 23:55:34,378 INFO L281 TraceCheckUtils]: 14: Hoare triple {8367#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {8367#true} is VALID [2021-09-13 23:55:34,379 INFO L281 TraceCheckUtils]: 15: Hoare triple {8367#true} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {8367#true} is VALID [2021-09-13 23:55:34,379 INFO L281 TraceCheckUtils]: 16: Hoare triple {8367#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {8367#true} is VALID [2021-09-13 23:55:34,379 INFO L281 TraceCheckUtils]: 17: Hoare triple {8367#true} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {8399#(<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:34,380 INFO L281 TraceCheckUtils]: 18: Hoare triple {8399#(<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {8399#(<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:34,380 INFO L281 TraceCheckUtils]: 19: Hoare triple {8399#(<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {8399#(<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:34,380 INFO L281 TraceCheckUtils]: 20: Hoare triple {8399#(<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {8399#(<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:34,380 INFO L281 TraceCheckUtils]: 21: Hoare triple {8399#(<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {8400#(<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:34,381 INFO L281 TraceCheckUtils]: 22: Hoare triple {8400#(<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|)} assume !(~len > 1); {8400#(<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:34,381 INFO L281 TraceCheckUtils]: 23: Hoare triple {8400#(<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {8400#(<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:34,381 INFO L281 TraceCheckUtils]: 24: Hoare triple {8400#(<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {8400#(<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:34,382 INFO L281 TraceCheckUtils]: 25: Hoare triple {8400#(<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {8401#(<= (+ |dll_circular_create_#res.base| 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:34,382 INFO L281 TraceCheckUtils]: 26: Hoare triple {8401#(<= (+ |dll_circular_create_#res.base| 1) |#StackHeapBarrier|)} assume true; {8401#(<= (+ |dll_circular_create_#res.base| 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:34,382 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {8401#(<= (+ |dll_circular_create_#res.base| 1) |#StackHeapBarrier|)} {8367#true} #197#return; {8393#(<= (+ |main_#t~ret12.base| 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:34,383 INFO L281 TraceCheckUtils]: 28: Hoare triple {8393#(<= (+ |main_#t~ret12.base| 1) |#StackHeapBarrier|)} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {8394#(<= (+ main_~head~1.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:34,383 INFO L264 TraceCheckUtils]: 29: Hoare triple {8394#(<= (+ main_~head~1.base 1) |#StackHeapBarrier|)} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {8395#(<= (+ |_destroy_in_nondeterministic_order_#in~head.base| 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:34,384 INFO L281 TraceCheckUtils]: 30: Hoare triple {8395#(<= (+ |_destroy_in_nondeterministic_order_#in~head.base| 1) |#StackHeapBarrier|)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {8396#(<= (+ _destroy_in_nondeterministic_order_~head.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:34,384 INFO L281 TraceCheckUtils]: 31: Hoare triple {8396#(<= (+ _destroy_in_nondeterministic_order_~head.base 1) |#StackHeapBarrier|)} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, 4 + ~head.offset, 4); srcloc: L586 {8396#(<= (+ _destroy_in_nondeterministic_order_~head.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:34,384 INFO L281 TraceCheckUtils]: 32: Hoare triple {8396#(<= (+ _destroy_in_nondeterministic_order_~head.base 1) |#StackHeapBarrier|)} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {8396#(<= (+ _destroy_in_nondeterministic_order_~head.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:34,384 INFO L281 TraceCheckUtils]: 33: Hoare triple {8396#(<= (+ _destroy_in_nondeterministic_order_~head.base 1) |#StackHeapBarrier|)} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4); srcloc: L587 {8396#(<= (+ _destroy_in_nondeterministic_order_~head.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:34,385 INFO L281 TraceCheckUtils]: 34: Hoare triple {8396#(<= (+ _destroy_in_nondeterministic_order_~head.base 1) |#StackHeapBarrier|)} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647; {8396#(<= (+ _destroy_in_nondeterministic_order_~head.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:34,385 INFO L281 TraceCheckUtils]: 35: Hoare triple {8396#(<= (+ _destroy_in_nondeterministic_order_~head.base 1) |#StackHeapBarrier|)} assume 0 != #t~nondet7;havoc #t~nondet7; {8396#(<= (+ _destroy_in_nondeterministic_order_~head.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:34,385 INFO L281 TraceCheckUtils]: 36: Hoare triple {8396#(<= (+ _destroy_in_nondeterministic_order_~head.base 1) |#StackHeapBarrier|)} assume 0 == ~head.offset; {8396#(<= (+ _destroy_in_nondeterministic_order_~head.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:34,386 INFO L281 TraceCheckUtils]: 37: Hoare triple {8396#(<= (+ _destroy_in_nondeterministic_order_~head.base 1) |#StackHeapBarrier|)} assume !(~head.base < #StackHeapBarrier); {8368#false} is VALID [2021-09-13 23:55:34,386 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2021-09-13 23:55:34,386 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 23:55:34,386 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [166337445] [2021-09-13 23:55:34,386 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [166337445] provided 1 perfect and 0 imperfect interpolant sequences [2021-09-13 23:55:34,386 INFO L186 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2021-09-13 23:55:34,386 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2021-09-13 23:55:34,387 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1052628259] [2021-09-13 23:55:34,387 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 7 states have internal predecessors, (32), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 38 [2021-09-13 23:55:34,387 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:55:34,387 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 11 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 7 states have internal predecessors, (32), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:55:34,407 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:34,407 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2021-09-13 23:55:34,407 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 23:55:34,407 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2021-09-13 23:55:34,408 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=91, Unknown=0, NotChecked=0, Total=110 [2021-09-13 23:55:34,408 INFO L87 Difference]: Start difference. First operand 114 states and 119 transitions. Second operand has 11 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 7 states have internal predecessors, (32), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:55:35,467 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:35,468 INFO L93 Difference]: Finished difference Result 109 states and 114 transitions. [2021-09-13 23:55:35,468 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2021-09-13 23:55:35,468 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 7 states have internal predecessors, (32), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 38 [2021-09-13 23:55:35,468 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:55:35,468 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 7 states have internal predecessors, (32), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:55:35,470 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 118 transitions. [2021-09-13 23:55:35,471 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 7 states have internal predecessors, (32), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:55:35,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 118 transitions. [2021-09-13 23:55:35,471 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 118 transitions. [2021-09-13 23:55:35,545 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:35,547 INFO L225 Difference]: With dead ends: 109 [2021-09-13 23:55:35,547 INFO L226 Difference]: Without dead ends: 109 [2021-09-13 23:55:35,548 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 88.58ms TimeCoverageRelationStatistics Valid=52, Invalid=220, Unknown=0, NotChecked=0, Total=272 [2021-09-13 23:55:35,549 INFO L928 BasicCegarLoop]: 6 mSDtfsCounter, 198 mSDsluCounter, 294 mSDsCounter, 0 mSdLazyCounter, 854 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 502.97ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 199 SdHoareTripleChecker+Valid, 36 SdHoareTripleChecker+Invalid, 871 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 4.02ms SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 854 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 505.69ms IncrementalHoareTripleChecker+Time [2021-09-13 23:55:35,549 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [199 Valid, 36 Invalid, 871 Unknown, 0 Unchecked, 4.02ms Time], IncrementalHoareTripleChecker [17 Valid, 854 Invalid, 0 Unknown, 0 Unchecked, 505.69ms Time] [2021-09-13 23:55:35,550 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 109 states. [2021-09-13 23:55:35,551 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 109 to 109. [2021-09-13 23:55:35,551 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:55:35,552 INFO L82 GeneralOperation]: Start isEquivalent. First operand 109 states. Second operand has 109 states, 79 states have (on average 1.3544303797468353) internal successors, (107), 101 states have internal predecessors, (107), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:35,552 INFO L74 IsIncluded]: Start isIncluded. First operand 109 states. Second operand has 109 states, 79 states have (on average 1.3544303797468353) internal successors, (107), 101 states have internal predecessors, (107), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:35,552 INFO L87 Difference]: Start difference. First operand 109 states. Second operand has 109 states, 79 states have (on average 1.3544303797468353) internal successors, (107), 101 states have internal predecessors, (107), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:35,554 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:35,554 INFO L93 Difference]: Finished difference Result 109 states and 114 transitions. [2021-09-13 23:55:35,554 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 114 transitions. [2021-09-13 23:55:35,555 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:35,555 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:35,555 INFO L74 IsIncluded]: Start isIncluded. First operand has 109 states, 79 states have (on average 1.3544303797468353) internal successors, (107), 101 states have internal predecessors, (107), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 109 states. [2021-09-13 23:55:35,555 INFO L87 Difference]: Start difference. First operand has 109 states, 79 states have (on average 1.3544303797468353) internal successors, (107), 101 states have internal predecessors, (107), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 109 states. [2021-09-13 23:55:35,557 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:35,557 INFO L93 Difference]: Finished difference Result 109 states and 114 transitions. [2021-09-13 23:55:35,557 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 114 transitions. [2021-09-13 23:55:35,558 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:35,558 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:35,558 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:55:35,558 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:55:35,558 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 109 states, 79 states have (on average 1.3544303797468353) internal successors, (107), 101 states have internal predecessors, (107), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:35,559 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 109 states to 109 states and 114 transitions. [2021-09-13 23:55:35,559 INFO L78 Accepts]: Start accepts. Automaton has 109 states and 114 transitions. Word has length 38 [2021-09-13 23:55:35,560 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:55:35,560 INFO L470 AbstractCegarLoop]: Abstraction has 109 states and 114 transitions. [2021-09-13 23:55:35,560 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 7 states have internal predecessors, (32), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:55:35,560 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 114 transitions. [2021-09-13 23:55:35,561 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2021-09-13 23:55:35,561 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:55:35,561 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1] [2021-09-13 23:55:35,561 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14 [2021-09-13 23:55:35,561 INFO L402 AbstractCegarLoop]: === Iteration 16 === Targeting _destroy_in_nondeterministic_orderErr20ASSERT_VIOLATIONMEMORY_FREE === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:55:35,562 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:55:35,562 INFO L82 PathProgramCache]: Analyzing trace with hash -1100504094, now seen corresponding path program 1 times [2021-09-13 23:55:35,562 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 23:55:35,564 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [729276848] [2021-09-13 23:55:35,564 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:55:35,564 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 23:55:35,581 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:35,672 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2021-09-13 23:55:35,675 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:35,676 INFO L281 TraceCheckUtils]: 0: Hoare triple {8886#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {8854#true} is VALID [2021-09-13 23:55:35,677 INFO L281 TraceCheckUtils]: 1: Hoare triple {8854#true} assume true; {8854#true} is VALID [2021-09-13 23:55:35,677 INFO L276 TraceCheckUtils]: 2: Hoare quadruple {8854#true} {8854#true} #201#return; {8854#true} is VALID [2021-09-13 23:55:35,687 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2021-09-13 23:55:35,697 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:36,009 INFO L281 TraceCheckUtils]: 0: Hoare triple {8887#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {8854#true} is VALID [2021-09-13 23:55:36,010 INFO L281 TraceCheckUtils]: 1: Hoare triple {8854#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {8854#true} is VALID [2021-09-13 23:55:36,010 INFO L281 TraceCheckUtils]: 2: Hoare triple {8854#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {8854#true} is VALID [2021-09-13 23:55:36,010 INFO L281 TraceCheckUtils]: 3: Hoare triple {8854#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {8854#true} is VALID [2021-09-13 23:55:36,010 INFO L281 TraceCheckUtils]: 4: Hoare triple {8854#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {8888#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:55:36,011 INFO L281 TraceCheckUtils]: 5: Hoare triple {8888#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {8889#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|))} is VALID [2021-09-13 23:55:36,011 INFO L281 TraceCheckUtils]: 6: Hoare triple {8889#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {8889#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|))} is VALID [2021-09-13 23:55:36,012 INFO L281 TraceCheckUtils]: 7: Hoare triple {8889#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {8890#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:55:36,012 INFO L281 TraceCheckUtils]: 8: Hoare triple {8890#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {8891#(and (<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:55:36,013 INFO L281 TraceCheckUtils]: 9: Hoare triple {8891#(and (<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {8892#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:55:36,013 INFO L281 TraceCheckUtils]: 10: Hoare triple {8892#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|) (= (select |#valid| dll_circular_create_~last~0.base) 1))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {8893#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|))} is VALID [2021-09-13 23:55:36,014 INFO L281 TraceCheckUtils]: 11: Hoare triple {8893#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {8893#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|))} is VALID [2021-09-13 23:55:36,014 INFO L281 TraceCheckUtils]: 12: Hoare triple {8893#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {8894#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (<= (+ (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) 1) |#StackHeapBarrier|) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:55:36,015 INFO L281 TraceCheckUtils]: 13: Hoare triple {8894#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (<= (+ (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) 1) |#StackHeapBarrier|) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {8895#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (<= (+ (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) 1) |#StackHeapBarrier|))} is VALID [2021-09-13 23:55:36,015 INFO L281 TraceCheckUtils]: 14: Hoare triple {8895#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (<= (+ (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) 1) |#StackHeapBarrier|))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {8896#(<= (+ (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:36,016 INFO L281 TraceCheckUtils]: 15: Hoare triple {8896#(<= (+ (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) 1) |#StackHeapBarrier|)} assume !(~len > 1); {8896#(<= (+ (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:36,016 INFO L281 TraceCheckUtils]: 16: Hoare triple {8896#(<= (+ (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) 1) |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {8897#(<= (+ (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset) 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:36,017 INFO L281 TraceCheckUtils]: 17: Hoare triple {8897#(<= (+ (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset) 1) |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {8897#(<= (+ (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset) 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:36,017 INFO L281 TraceCheckUtils]: 18: Hoare triple {8897#(<= (+ (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset) 1) |#StackHeapBarrier|)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {8898#(<= (+ (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:36,017 INFO L281 TraceCheckUtils]: 19: Hoare triple {8898#(<= (+ (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) 1) |#StackHeapBarrier|)} assume true; {8898#(<= (+ (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:36,018 INFO L276 TraceCheckUtils]: 20: Hoare quadruple {8898#(<= (+ (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) 1) |#StackHeapBarrier|)} {8854#true} #197#return; {8880#(<= (+ (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|) 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:36,022 INFO L264 TraceCheckUtils]: 0: Hoare triple {8854#true} call ULTIMATE.init(); {8886#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2021-09-13 23:55:36,022 INFO L281 TraceCheckUtils]: 1: Hoare triple {8886#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {8854#true} is VALID [2021-09-13 23:55:36,022 INFO L281 TraceCheckUtils]: 2: Hoare triple {8854#true} assume true; {8854#true} is VALID [2021-09-13 23:55:36,022 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {8854#true} {8854#true} #201#return; {8854#true} is VALID [2021-09-13 23:55:36,022 INFO L264 TraceCheckUtils]: 4: Hoare triple {8854#true} call #t~ret13 := main(); {8854#true} is VALID [2021-09-13 23:55:36,022 INFO L281 TraceCheckUtils]: 5: Hoare triple {8854#true} ~len~0 := 3; {8854#true} is VALID [2021-09-13 23:55:36,023 INFO L264 TraceCheckUtils]: 6: Hoare triple {8854#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {8887#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2021-09-13 23:55:36,023 INFO L281 TraceCheckUtils]: 7: Hoare triple {8887#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {8854#true} is VALID [2021-09-13 23:55:36,023 INFO L281 TraceCheckUtils]: 8: Hoare triple {8854#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {8854#true} is VALID [2021-09-13 23:55:36,023 INFO L281 TraceCheckUtils]: 9: Hoare triple {8854#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {8854#true} is VALID [2021-09-13 23:55:36,023 INFO L281 TraceCheckUtils]: 10: Hoare triple {8854#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {8854#true} is VALID [2021-09-13 23:55:36,024 INFO L281 TraceCheckUtils]: 11: Hoare triple {8854#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {8888#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:55:36,024 INFO L281 TraceCheckUtils]: 12: Hoare triple {8888#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {8889#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|))} is VALID [2021-09-13 23:55:36,025 INFO L281 TraceCheckUtils]: 13: Hoare triple {8889#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {8889#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|))} is VALID [2021-09-13 23:55:36,025 INFO L281 TraceCheckUtils]: 14: Hoare triple {8889#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {8890#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:55:36,026 INFO L281 TraceCheckUtils]: 15: Hoare triple {8890#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {8891#(and (<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:55:36,026 INFO L281 TraceCheckUtils]: 16: Hoare triple {8891#(and (<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {8892#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:55:36,027 INFO L281 TraceCheckUtils]: 17: Hoare triple {8892#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|) (= (select |#valid| dll_circular_create_~last~0.base) 1))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {8893#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|))} is VALID [2021-09-13 23:55:36,027 INFO L281 TraceCheckUtils]: 18: Hoare triple {8893#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {8893#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|))} is VALID [2021-09-13 23:55:36,028 INFO L281 TraceCheckUtils]: 19: Hoare triple {8893#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {8894#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (<= (+ (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) 1) |#StackHeapBarrier|) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:55:36,028 INFO L281 TraceCheckUtils]: 20: Hoare triple {8894#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (<= (+ (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) 1) |#StackHeapBarrier|) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {8895#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (<= (+ (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) 1) |#StackHeapBarrier|))} is VALID [2021-09-13 23:55:36,029 INFO L281 TraceCheckUtils]: 21: Hoare triple {8895#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (<= (+ (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) 1) |#StackHeapBarrier|))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {8896#(<= (+ (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:36,029 INFO L281 TraceCheckUtils]: 22: Hoare triple {8896#(<= (+ (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) 1) |#StackHeapBarrier|)} assume !(~len > 1); {8896#(<= (+ (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:36,030 INFO L281 TraceCheckUtils]: 23: Hoare triple {8896#(<= (+ (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) 1) |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {8897#(<= (+ (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset) 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:36,030 INFO L281 TraceCheckUtils]: 24: Hoare triple {8897#(<= (+ (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset) 1) |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {8897#(<= (+ (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset) 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:36,031 INFO L281 TraceCheckUtils]: 25: Hoare triple {8897#(<= (+ (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset) 1) |#StackHeapBarrier|)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {8898#(<= (+ (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:36,031 INFO L281 TraceCheckUtils]: 26: Hoare triple {8898#(<= (+ (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) 1) |#StackHeapBarrier|)} assume true; {8898#(<= (+ (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:36,032 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {8898#(<= (+ (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) 1) |#StackHeapBarrier|)} {8854#true} #197#return; {8880#(<= (+ (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|) 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:36,032 INFO L281 TraceCheckUtils]: 28: Hoare triple {8880#(<= (+ (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|) 1) |#StackHeapBarrier|)} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {8881#(<= (+ (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset) 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:36,033 INFO L264 TraceCheckUtils]: 29: Hoare triple {8881#(<= (+ (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset) 1) |#StackHeapBarrier|)} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {8882#(<= (+ (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|) 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:36,033 INFO L281 TraceCheckUtils]: 30: Hoare triple {8882#(<= (+ (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|) 1) |#StackHeapBarrier|)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {8883#(<= (+ (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:36,033 INFO L281 TraceCheckUtils]: 31: Hoare triple {8883#(<= (+ (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) 1) |#StackHeapBarrier|)} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, 4 + ~head.offset, 4); srcloc: L586 {8883#(<= (+ (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:36,034 INFO L281 TraceCheckUtils]: 32: Hoare triple {8883#(<= (+ (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) 1) |#StackHeapBarrier|)} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {8883#(<= (+ (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:36,034 INFO L281 TraceCheckUtils]: 33: Hoare triple {8883#(<= (+ (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) 1) |#StackHeapBarrier|)} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4); srcloc: L587 {8884#(<= (+ |_destroy_in_nondeterministic_order_#t~mem6.base| 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:36,034 INFO L281 TraceCheckUtils]: 34: Hoare triple {8884#(<= (+ |_destroy_in_nondeterministic_order_#t~mem6.base| 1) |#StackHeapBarrier|)} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647; {8885#(<= (+ _destroy_in_nondeterministic_order_~succ~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:36,035 INFO L281 TraceCheckUtils]: 35: Hoare triple {8885#(<= (+ _destroy_in_nondeterministic_order_~succ~0.base 1) |#StackHeapBarrier|)} assume !(0 != #t~nondet7);havoc #t~nondet7;assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {8885#(<= (+ _destroy_in_nondeterministic_order_~succ~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:36,035 INFO L281 TraceCheckUtils]: 36: Hoare triple {8885#(<= (+ _destroy_in_nondeterministic_order_~succ~0.base 1) |#StackHeapBarrier|)} assume 0 != #t~nondet9;havoc #t~nondet9; {8885#(<= (+ _destroy_in_nondeterministic_order_~succ~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:36,035 INFO L281 TraceCheckUtils]: 37: Hoare triple {8885#(<= (+ _destroy_in_nondeterministic_order_~succ~0.base 1) |#StackHeapBarrier|)} assume 0 == ~succ~0.offset; {8885#(<= (+ _destroy_in_nondeterministic_order_~succ~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:36,040 INFO L281 TraceCheckUtils]: 38: Hoare triple {8885#(<= (+ _destroy_in_nondeterministic_order_~succ~0.base 1) |#StackHeapBarrier|)} assume !(~succ~0.base < #StackHeapBarrier); {8855#false} is VALID [2021-09-13 23:55:36,041 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:55:36,041 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 23:55:36,042 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [729276848] [2021-09-13 23:55:36,043 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [729276848] provided 0 perfect and 1 imperfect interpolant sequences [2021-09-13 23:55:36,043 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [47929058] [2021-09-13 23:55:36,043 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:55:36,043 INFO L170 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 23:55:36,043 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-09-13 23:55:36,044 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) [2021-09-13 23:55:36,045 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2021-09-13 23:55:36,127 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:36,128 INFO L263 TraceCheckSpWp]: Trace formula consists of 195 conjuncts, 43 conjunts are in the unsatisfiable core [2021-09-13 23:55:36,148 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:36,150 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 23:55:36,205 INFO L388 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 [2021-09-13 23:55:36,331 INFO L354 Elim1Store]: treesize reduction 16, result has 36.0 percent of original size [2021-09-13 23:55:36,331 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 16 treesize of output 18 [2021-09-13 23:55:36,388 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2021-09-13 23:55:36,468 INFO L354 Elim1Store]: treesize reduction 29, result has 19.4 percent of original size [2021-09-13 23:55:36,469 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 39 treesize of output 29 [2021-09-13 23:55:36,692 INFO L354 Elim1Store]: treesize reduction 45, result has 16.7 percent of original size [2021-09-13 23:55:36,693 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 42 treesize of output 39 [2021-09-13 23:55:36,871 INFO L190 IndexEqualityManager]: detected not equals via solver [2021-09-13 23:55:36,891 INFO L354 Elim1Store]: treesize reduction 102, result has 14.3 percent of original size [2021-09-13 23:55:36,891 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 5 case distinctions, treesize of input 55 treesize of output 55 [2021-09-13 23:55:37,782 INFO L354 Elim1Store]: treesize reduction 66, result has 1.5 percent of original size [2021-09-13 23:55:37,782 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 1 disjoint index pairs (out of 6 index pairs), introduced 6 new quantified variables, introduced 6 case distinctions, treesize of input 57 treesize of output 29 [2021-09-13 23:55:37,854 INFO L264 TraceCheckUtils]: 0: Hoare triple {8854#true} call ULTIMATE.init(); {8854#true} is VALID [2021-09-13 23:55:37,855 INFO L281 TraceCheckUtils]: 1: Hoare triple {8854#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {8854#true} is VALID [2021-09-13 23:55:37,855 INFO L281 TraceCheckUtils]: 2: Hoare triple {8854#true} assume true; {8854#true} is VALID [2021-09-13 23:55:37,855 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {8854#true} {8854#true} #201#return; {8854#true} is VALID [2021-09-13 23:55:37,855 INFO L264 TraceCheckUtils]: 4: Hoare triple {8854#true} call #t~ret13 := main(); {8854#true} is VALID [2021-09-13 23:55:37,855 INFO L281 TraceCheckUtils]: 5: Hoare triple {8854#true} ~len~0 := 3; {8854#true} is VALID [2021-09-13 23:55:37,855 INFO L264 TraceCheckUtils]: 6: Hoare triple {8854#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {8854#true} is VALID [2021-09-13 23:55:37,855 INFO L281 TraceCheckUtils]: 7: Hoare triple {8854#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {8854#true} is VALID [2021-09-13 23:55:37,856 INFO L281 TraceCheckUtils]: 8: Hoare triple {8854#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {8854#true} is VALID [2021-09-13 23:55:37,856 INFO L281 TraceCheckUtils]: 9: Hoare triple {8854#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {8854#true} is VALID [2021-09-13 23:55:37,856 INFO L281 TraceCheckUtils]: 10: Hoare triple {8854#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {8854#true} is VALID [2021-09-13 23:55:37,856 INFO L281 TraceCheckUtils]: 11: Hoare triple {8854#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {8888#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:55:37,857 INFO L281 TraceCheckUtils]: 12: Hoare triple {8888#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {8890#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:55:37,857 INFO L281 TraceCheckUtils]: 13: Hoare triple {8890#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {8890#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:55:37,858 INFO L281 TraceCheckUtils]: 14: Hoare triple {8890#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {8890#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:55:37,858 INFO L281 TraceCheckUtils]: 15: Hoare triple {8890#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {8891#(and (<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:55:37,859 INFO L281 TraceCheckUtils]: 16: Hoare triple {8891#(and (<= (+ dll_circular_create_~new_head~0.base 1) |#StackHeapBarrier|) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {8892#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:55:37,860 INFO L281 TraceCheckUtils]: 17: Hoare triple {8892#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|) (= (select |#valid| dll_circular_create_~last~0.base) 1))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {8893#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|))} is VALID [2021-09-13 23:55:37,860 INFO L281 TraceCheckUtils]: 18: Hoare triple {8893#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {8893#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|))} is VALID [2021-09-13 23:55:37,861 INFO L281 TraceCheckUtils]: 19: Hoare triple {8893#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {8959#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} is VALID [2021-09-13 23:55:37,862 INFO L281 TraceCheckUtils]: 20: Hoare triple {8959#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (<= (+ dll_circular_create_~head~0.base 1) |#StackHeapBarrier|) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {8963#(and (exists ((dll_circular_create_~head~0.offset Int)) (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (+ dll_circular_create_~head~0.offset 4)))) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (<= (+ (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) 1) |#StackHeapBarrier|))} is VALID [2021-09-13 23:55:37,863 INFO L281 TraceCheckUtils]: 21: Hoare triple {8963#(and (exists ((dll_circular_create_~head~0.offset Int)) (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (+ dll_circular_create_~head~0.offset 4)))) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (<= (+ (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) 1) |#StackHeapBarrier|))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {8967#(and (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (<= (+ (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0) 1) |#StackHeapBarrier|) (exists ((v_dll_circular_create_~head~0.offset_20 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_20 4)))))} is VALID [2021-09-13 23:55:37,863 INFO L281 TraceCheckUtils]: 22: Hoare triple {8967#(and (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (<= (+ (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0) 1) |#StackHeapBarrier|) (exists ((v_dll_circular_create_~head~0.offset_20 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_20 4)))))} assume !(~len > 1); {8967#(and (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (<= (+ (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0) 1) |#StackHeapBarrier|) (exists ((v_dll_circular_create_~head~0.offset_20 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_20 4)))))} is VALID [2021-09-13 23:55:37,865 INFO L281 TraceCheckUtils]: 23: Hoare triple {8967#(and (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (<= (+ (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0) 1) |#StackHeapBarrier|) (exists ((v_dll_circular_create_~head~0.offset_20 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_20 4)))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {8974#(and (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (<= (+ (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0) 1) |#StackHeapBarrier|) (exists ((v_dll_circular_create_~head~0.offset_20 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_20 4)))) (exists ((dll_circular_create_~last~0.offset Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset))))} is VALID [2021-09-13 23:55:37,866 INFO L281 TraceCheckUtils]: 24: Hoare triple {8974#(and (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (<= (+ (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0) 1) |#StackHeapBarrier|) (exists ((v_dll_circular_create_~head~0.offset_20 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_20 4)))) (exists ((dll_circular_create_~last~0.offset Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {8978#(and (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (= dll_circular_create_~head~0.offset 0) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4)))) (<= (+ (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0) 1) |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.offset Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_20 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_20 4)))))} is VALID [2021-09-13 23:55:37,867 INFO L281 TraceCheckUtils]: 25: Hoare triple {8978#(and (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (= dll_circular_create_~head~0.offset 0) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4)))) (<= (+ (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0) 1) |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.offset Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_20 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_20 4)))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {8982#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0))) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4)))) (exists ((dll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|)) (<= (+ (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0) 1) |#StackHeapBarrier|) (exists ((v_dll_circular_create_~head~0.offset_20 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0)) (+ v_dll_circular_create_~head~0.offset_20 4)) |dll_circular_create_#res.base|)) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:55:37,868 INFO L281 TraceCheckUtils]: 26: Hoare triple {8982#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0))) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4)))) (exists ((dll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|)) (<= (+ (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0) 1) |#StackHeapBarrier|) (exists ((v_dll_circular_create_~head~0.offset_20 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0)) (+ v_dll_circular_create_~head~0.offset_20 4)) |dll_circular_create_#res.base|)) (= |dll_circular_create_#res.offset| 0))} assume true; {8982#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0))) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4)))) (exists ((dll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|)) (<= (+ (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0) 1) |#StackHeapBarrier|) (exists ((v_dll_circular_create_~head~0.offset_20 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0)) (+ v_dll_circular_create_~head~0.offset_20 4)) |dll_circular_create_#res.base|)) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:55:37,869 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {8982#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0))) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4)))) (exists ((dll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|)) (<= (+ (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0) 1) |#StackHeapBarrier|) (exists ((v_dll_circular_create_~head~0.offset_20 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0)) (+ v_dll_circular_create_~head~0.offset_20 4)) |dll_circular_create_#res.base|)) (= |dll_circular_create_#res.offset| 0))} {8854#true} #197#return; {8989#(and (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (+ 4 |main_#t~ret12.offset|)) |main_#t~ret12.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0) |main_#t~ret12.base|)) (<= (+ (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0) 1) |#StackHeapBarrier|) (= |main_#t~ret12.offset| 0) (exists ((v_dll_circular_create_~head~0.offset_20 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0)) (+ v_dll_circular_create_~head~0.offset_20 4)) |main_#t~ret12.base|)) (exists ((dll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (+ 4 |main_#t~ret12.offset|))) dll_circular_create_~last~0.offset) |main_#t~ret12.base|)))} is VALID [2021-09-13 23:55:37,870 INFO L281 TraceCheckUtils]: 28: Hoare triple {8989#(and (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (+ 4 |main_#t~ret12.offset|)) |main_#t~ret12.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0) |main_#t~ret12.base|)) (<= (+ (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0) 1) |#StackHeapBarrier|) (= |main_#t~ret12.offset| 0) (exists ((v_dll_circular_create_~head~0.offset_20 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0)) (+ v_dll_circular_create_~head~0.offset_20 4)) |main_#t~ret12.base|)) (exists ((dll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (+ 4 |main_#t~ret12.offset|))) dll_circular_create_~last~0.offset) |main_#t~ret12.base|)))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {8993#(and (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) 0) main_~head~1.base)) (exists ((dll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) (+ 4 main_~head~1.offset))) dll_circular_create_~last~0.offset) main_~head~1.base)) (<= (+ (select (select |#memory_$Pointer$.base| main_~head~1.base) 0) 1) |#StackHeapBarrier|) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) (+ 4 main_~head~1.offset)))) (exists ((v_dll_circular_create_~head~0.offset_20 Int)) (= main_~head~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) 0)) (+ v_dll_circular_create_~head~0.offset_20 4)))) (= 0 main_~head~1.offset))} is VALID [2021-09-13 23:55:37,872 INFO L264 TraceCheckUtils]: 29: Hoare triple {8993#(and (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) 0) main_~head~1.base)) (exists ((dll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) (+ 4 main_~head~1.offset))) dll_circular_create_~last~0.offset) main_~head~1.base)) (<= (+ (select (select |#memory_$Pointer$.base| main_~head~1.base) 0) 1) |#StackHeapBarrier|) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) (+ 4 main_~head~1.offset)))) (exists ((v_dll_circular_create_~head~0.offset_20 Int)) (= main_~head~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) 0)) (+ v_dll_circular_create_~head~0.offset_20 4)))) (= 0 main_~head~1.offset))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {8997#(and (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0))) (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)) dll_circular_create_~last~0.offset))) (= |_destroy_in_nondeterministic_order_#in~head.offset| 0) (<= (+ (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0) 1) |#StackHeapBarrier|) (exists ((v_dll_circular_create_~head~0.offset_20 Int)) (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0)) (+ v_dll_circular_create_~head~0.offset_20 4)))))} is VALID [2021-09-13 23:55:37,873 INFO L281 TraceCheckUtils]: 30: Hoare triple {8997#(and (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0))) (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)) dll_circular_create_~last~0.offset))) (= |_destroy_in_nondeterministic_order_#in~head.offset| 0) (<= (+ (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0) 1) |#StackHeapBarrier|) (exists ((v_dll_circular_create_~head~0.offset_20 Int)) (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0)) (+ v_dll_circular_create_~head~0.offset_20 4)))))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {9001#(and (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (= _destroy_in_nondeterministic_order_~head.offset 0) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))) (exists ((v_dll_circular_create_~head~0.offset_20 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_20 4)) _destroy_in_nondeterministic_order_~head.base)) (<= (+ (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0) 1) |#StackHeapBarrier|))} is VALID [2021-09-13 23:55:37,873 INFO L281 TraceCheckUtils]: 31: Hoare triple {9001#(and (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (= _destroy_in_nondeterministic_order_~head.offset 0) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))) (exists ((v_dll_circular_create_~head~0.offset_20 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_20 4)) _destroy_in_nondeterministic_order_~head.base)) (<= (+ (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0) 1) |#StackHeapBarrier|))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, 4 + ~head.offset, 4); srcloc: L586 {9001#(and (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (= _destroy_in_nondeterministic_order_~head.offset 0) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))) (exists ((v_dll_circular_create_~head~0.offset_20 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_20 4)) _destroy_in_nondeterministic_order_~head.base)) (<= (+ (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0) 1) |#StackHeapBarrier|))} is VALID [2021-09-13 23:55:37,874 INFO L281 TraceCheckUtils]: 32: Hoare triple {9001#(and (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (= _destroy_in_nondeterministic_order_~head.offset 0) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))) (exists ((v_dll_circular_create_~head~0.offset_20 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_20 4)) _destroy_in_nondeterministic_order_~head.base)) (<= (+ (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0) 1) |#StackHeapBarrier|))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {9001#(and (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (= _destroy_in_nondeterministic_order_~head.offset 0) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))) (exists ((v_dll_circular_create_~head~0.offset_20 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_20 4)) _destroy_in_nondeterministic_order_~head.base)) (<= (+ (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0) 1) |#StackHeapBarrier|))} is VALID [2021-09-13 23:55:37,875 INFO L281 TraceCheckUtils]: 33: Hoare triple {9001#(and (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (= _destroy_in_nondeterministic_order_~head.offset 0) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))) (exists ((v_dll_circular_create_~head~0.offset_20 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_20 4)) _destroy_in_nondeterministic_order_~head.base)) (<= (+ (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0) 1) |#StackHeapBarrier|))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4); srcloc: L587 {8884#(<= (+ |_destroy_in_nondeterministic_order_#t~mem6.base| 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:37,875 INFO L281 TraceCheckUtils]: 34: Hoare triple {8884#(<= (+ |_destroy_in_nondeterministic_order_#t~mem6.base| 1) |#StackHeapBarrier|)} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647; {8885#(<= (+ _destroy_in_nondeterministic_order_~succ~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:37,876 INFO L281 TraceCheckUtils]: 35: Hoare triple {8885#(<= (+ _destroy_in_nondeterministic_order_~succ~0.base 1) |#StackHeapBarrier|)} assume !(0 != #t~nondet7);havoc #t~nondet7;assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {8885#(<= (+ _destroy_in_nondeterministic_order_~succ~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:37,876 INFO L281 TraceCheckUtils]: 36: Hoare triple {8885#(<= (+ _destroy_in_nondeterministic_order_~succ~0.base 1) |#StackHeapBarrier|)} assume 0 != #t~nondet9;havoc #t~nondet9; {8885#(<= (+ _destroy_in_nondeterministic_order_~succ~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:37,876 INFO L281 TraceCheckUtils]: 37: Hoare triple {8885#(<= (+ _destroy_in_nondeterministic_order_~succ~0.base 1) |#StackHeapBarrier|)} assume 0 == ~succ~0.offset; {8885#(<= (+ _destroy_in_nondeterministic_order_~succ~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:37,877 INFO L281 TraceCheckUtils]: 38: Hoare triple {8885#(<= (+ _destroy_in_nondeterministic_order_~succ~0.base 1) |#StackHeapBarrier|)} assume !(~succ~0.base < #StackHeapBarrier); {8855#false} is VALID [2021-09-13 23:55:37,877 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:55:37,877 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 23:55:47,708 WARN L838 $PredicateComparison]: unable to prove that (forall ((dll_circular_create_~last~0.offset Int)) (<= (+ (select (store (select (store |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.base)) c_dll_circular_create_~new_head~0.base) (+ c_dll_circular_create_~new_head~0.offset 4) c_dll_circular_create_~last~0.base) c_dll_circular_create_~new_head~0.offset) 1) |c_#StackHeapBarrier|)) is different from false [2021-09-13 23:55:48,610 WARN L838 $PredicateComparison]: unable to prove that (forall ((dll_circular_create_~last~0.offset Int) (dll_circular_create_~head~0.offset Int)) (<= (+ (select (store (select (let ((.cse0 (store |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) c_dll_circular_create_~new_head~0.base)))) (store .cse0 c_dll_circular_create_~last~0.base (store (select .cse0 c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.base))) c_dll_circular_create_~new_head~0.base) (+ c_dll_circular_create_~new_head~0.offset 4) c_dll_circular_create_~last~0.base) c_dll_circular_create_~new_head~0.offset) 1) |c_#StackHeapBarrier|)) is different from false [2021-09-13 23:55:48,680 INFO L354 Elim1Store]: treesize reduction 83, result has 30.8 percent of original size [2021-09-13 23:55:48,680 INFO L388 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 3 case distinctions, treesize of input 74 treesize of output 51 [2021-09-13 23:55:48,700 INFO L354 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2021-09-13 23:55:48,701 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 51 treesize of output 67 [2021-09-13 23:55:48,762 INFO L388 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 8 treesize of output 4 [2021-09-13 23:55:48,799 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_DEPENDING: Alternating quantifiers not yet supported [2021-09-13 23:55:48,799 INFO L186 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2021-09-13 23:55:48,800 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20] total 20 [2021-09-13 23:55:48,800 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [763625646] [2021-09-13 23:55:48,800 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 19 states have (on average 1.736842105263158) internal successors, (33), 17 states have internal predecessors, (33), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 39 [2021-09-13 23:55:48,800 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:55:48,801 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 21 states, 19 states have (on average 1.736842105263158) internal successors, (33), 17 states have internal predecessors, (33), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:55:48,829 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:48,829 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2021-09-13 23:55:48,829 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 23:55:48,830 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2021-09-13 23:55:48,830 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=88, Invalid=903, Unknown=9, NotChecked=122, Total=1122 [2021-09-13 23:55:48,830 INFO L87 Difference]: Start difference. First operand 109 states and 114 transitions. Second operand has 21 states, 19 states have (on average 1.736842105263158) internal successors, (33), 17 states have internal predecessors, (33), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:55:51,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:51,940 INFO L93 Difference]: Finished difference Result 109 states and 114 transitions. [2021-09-13 23:55:51,940 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2021-09-13 23:55:51,940 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 19 states have (on average 1.736842105263158) internal successors, (33), 17 states have internal predecessors, (33), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 39 [2021-09-13 23:55:51,941 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:55:51,941 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 19 states have (on average 1.736842105263158) internal successors, (33), 17 states have internal predecessors, (33), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:55:51,941 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 118 transitions. [2021-09-13 23:55:51,942 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 19 states have (on average 1.736842105263158) internal successors, (33), 17 states have internal predecessors, (33), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:55:51,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 118 transitions. [2021-09-13 23:55:51,942 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 118 transitions. [2021-09-13 23:55:52,045 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:52,050 INFO L225 Difference]: With dead ends: 109 [2021-09-13 23:55:52,051 INFO L226 Difference]: Without dead ends: 109 [2021-09-13 23:55:52,051 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 97 GetRequests, 46 SyntacticMatches, 4 SemanticMatches, 47 ConstructedPredicates, 2 IntricatePredicates, 0 DeprecatedPredicates, 372 ImplicationChecksByTransitivity, 10877.83ms TimeCoverageRelationStatistics Valid=212, Invalid=1949, Unknown=9, NotChecked=182, Total=2352 [2021-09-13 23:55:52,058 INFO L928 BasicCegarLoop]: 6 mSDtfsCounter, 265 mSDsluCounter, 411 mSDsCounter, 0 mSdLazyCounter, 1641 mSolverCounterSat, 47 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1322.50ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 266 SdHoareTripleChecker+Valid, 59 SdHoareTripleChecker+Invalid, 1688 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 4.45ms SdHoareTripleChecker+Time, 47 IncrementalHoareTripleChecker+Valid, 1641 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1332.00ms IncrementalHoareTripleChecker+Time [2021-09-13 23:55:52,059 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [266 Valid, 59 Invalid, 1688 Unknown, 0 Unchecked, 4.45ms Time], IncrementalHoareTripleChecker [47 Valid, 1641 Invalid, 0 Unknown, 0 Unchecked, 1332.00ms Time] [2021-09-13 23:55:52,060 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 109 states. [2021-09-13 23:55:52,065 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 109 to 105. [2021-09-13 23:55:52,065 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:55:52,066 INFO L82 GeneralOperation]: Start isEquivalent. First operand 109 states. Second operand has 105 states, 79 states have (on average 1.3037974683544304) internal successors, (103), 97 states have internal predecessors, (103), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:52,066 INFO L74 IsIncluded]: Start isIncluded. First operand 109 states. Second operand has 105 states, 79 states have (on average 1.3037974683544304) internal successors, (103), 97 states have internal predecessors, (103), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:52,066 INFO L87 Difference]: Start difference. First operand 109 states. Second operand has 105 states, 79 states have (on average 1.3037974683544304) internal successors, (103), 97 states have internal predecessors, (103), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:52,067 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:52,067 INFO L93 Difference]: Finished difference Result 109 states and 114 transitions. [2021-09-13 23:55:52,067 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 114 transitions. [2021-09-13 23:55:52,068 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:52,068 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:52,068 INFO L74 IsIncluded]: Start isIncluded. First operand has 105 states, 79 states have (on average 1.3037974683544304) internal successors, (103), 97 states have internal predecessors, (103), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 109 states. [2021-09-13 23:55:52,079 INFO L87 Difference]: Start difference. First operand has 105 states, 79 states have (on average 1.3037974683544304) internal successors, (103), 97 states have internal predecessors, (103), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 109 states. [2021-09-13 23:55:52,081 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:52,081 INFO L93 Difference]: Finished difference Result 109 states and 114 transitions. [2021-09-13 23:55:52,081 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 114 transitions. [2021-09-13 23:55:52,081 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:52,081 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:52,081 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:55:52,082 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:55:52,082 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 105 states, 79 states have (on average 1.3037974683544304) internal successors, (103), 97 states have internal predecessors, (103), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:52,083 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 105 states to 105 states and 110 transitions. [2021-09-13 23:55:52,096 INFO L78 Accepts]: Start accepts. Automaton has 105 states and 110 transitions. Word has length 39 [2021-09-13 23:55:52,097 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:55:52,097 INFO L470 AbstractCegarLoop]: Abstraction has 105 states and 110 transitions. [2021-09-13 23:55:52,097 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 19 states have (on average 1.736842105263158) internal successors, (33), 17 states have internal predecessors, (33), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:55:52,097 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 110 transitions. [2021-09-13 23:55:52,097 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2021-09-13 23:55:52,098 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:55:52,098 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1] [2021-09-13 23:55:52,129 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2021-09-13 23:55:52,298 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2021-09-13 23:55:52,298 INFO L402 AbstractCegarLoop]: === Iteration 17 === Targeting _destroy_in_nondeterministic_orderErr35ASSERT_VIOLATIONMEMORY_FREE === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:55:52,299 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:55:52,299 INFO L82 PathProgramCache]: Analyzing trace with hash -1100466360, now seen corresponding path program 1 times [2021-09-13 23:55:52,299 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 23:55:52,299 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [437727295] [2021-09-13 23:55:52,299 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:55:52,299 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 23:55:52,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:52,400 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2021-09-13 23:55:52,401 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:52,403 INFO L281 TraceCheckUtils]: 0: Hoare triple {9585#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {9553#true} is VALID [2021-09-13 23:55:52,403 INFO L281 TraceCheckUtils]: 1: Hoare triple {9553#true} assume true; {9553#true} is VALID [2021-09-13 23:55:52,403 INFO L276 TraceCheckUtils]: 2: Hoare quadruple {9553#true} {9553#true} #201#return; {9553#true} is VALID [2021-09-13 23:55:52,411 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2021-09-13 23:55:52,417 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:52,485 INFO L281 TraceCheckUtils]: 0: Hoare triple {9586#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:52,485 INFO L281 TraceCheckUtils]: 1: Hoare triple {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:52,486 INFO L281 TraceCheckUtils]: 2: Hoare triple {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:52,486 INFO L281 TraceCheckUtils]: 3: Hoare triple {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:52,486 INFO L281 TraceCheckUtils]: 4: Hoare triple {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:52,486 INFO L281 TraceCheckUtils]: 5: Hoare triple {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:52,486 INFO L281 TraceCheckUtils]: 6: Hoare triple {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:52,487 INFO L281 TraceCheckUtils]: 7: Hoare triple {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:52,487 INFO L281 TraceCheckUtils]: 8: Hoare triple {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:52,487 INFO L281 TraceCheckUtils]: 9: Hoare triple {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:52,488 INFO L281 TraceCheckUtils]: 10: Hoare triple {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {9588#(and (= dll_circular_create_~new_head~0.offset 0) (<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|))} is VALID [2021-09-13 23:55:52,488 INFO L281 TraceCheckUtils]: 11: Hoare triple {9588#(and (= dll_circular_create_~new_head~0.offset 0) (<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {9588#(and (= dll_circular_create_~new_head~0.offset 0) (<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|))} is VALID [2021-09-13 23:55:52,488 INFO L281 TraceCheckUtils]: 12: Hoare triple {9588#(and (= dll_circular_create_~new_head~0.offset 0) (<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {9588#(and (= dll_circular_create_~new_head~0.offset 0) (<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|))} is VALID [2021-09-13 23:55:52,489 INFO L281 TraceCheckUtils]: 13: Hoare triple {9588#(and (= dll_circular_create_~new_head~0.offset 0) (<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {9588#(and (= dll_circular_create_~new_head~0.offset 0) (<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|))} is VALID [2021-09-13 23:55:52,489 INFO L281 TraceCheckUtils]: 14: Hoare triple {9588#(and (= dll_circular_create_~new_head~0.offset 0) (<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {9589#(and (= dll_circular_create_~head~0.offset 0) (<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|))} is VALID [2021-09-13 23:55:52,489 INFO L281 TraceCheckUtils]: 15: Hoare triple {9589#(and (= dll_circular_create_~head~0.offset 0) (<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|))} assume !(~len > 1); {9589#(and (= dll_circular_create_~head~0.offset 0) (<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|))} is VALID [2021-09-13 23:55:52,490 INFO L281 TraceCheckUtils]: 16: Hoare triple {9589#(and (= dll_circular_create_~head~0.offset 0) (<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {9589#(and (= dll_circular_create_~head~0.offset 0) (<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|))} is VALID [2021-09-13 23:55:52,490 INFO L281 TraceCheckUtils]: 17: Hoare triple {9589#(and (= dll_circular_create_~head~0.offset 0) (<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {9590#(and (<= (+ (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) 1) |#StackHeapBarrier|) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:55:52,491 INFO L281 TraceCheckUtils]: 18: Hoare triple {9590#(and (<= (+ (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) 1) |#StackHeapBarrier|) (= dll_circular_create_~head~0.offset 0))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {9591#(and (<= (+ (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4) 1) |#StackHeapBarrier|) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:55:52,491 INFO L281 TraceCheckUtils]: 19: Hoare triple {9591#(and (<= (+ (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4) 1) |#StackHeapBarrier|) (= |dll_circular_create_#res.offset| 0))} assume true; {9591#(and (<= (+ (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4) 1) |#StackHeapBarrier|) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:55:52,491 INFO L276 TraceCheckUtils]: 20: Hoare quadruple {9591#(and (<= (+ (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4) 1) |#StackHeapBarrier|) (= |dll_circular_create_#res.offset| 0))} {9553#true} #197#return; {9579#(and (<= (+ (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) 1) |#StackHeapBarrier|) (= |main_#t~ret12.offset| 0))} is VALID [2021-09-13 23:55:52,492 INFO L264 TraceCheckUtils]: 0: Hoare triple {9553#true} call ULTIMATE.init(); {9585#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2021-09-13 23:55:52,492 INFO L281 TraceCheckUtils]: 1: Hoare triple {9585#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {9553#true} is VALID [2021-09-13 23:55:52,492 INFO L281 TraceCheckUtils]: 2: Hoare triple {9553#true} assume true; {9553#true} is VALID [2021-09-13 23:55:52,492 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {9553#true} {9553#true} #201#return; {9553#true} is VALID [2021-09-13 23:55:52,492 INFO L264 TraceCheckUtils]: 4: Hoare triple {9553#true} call #t~ret13 := main(); {9553#true} is VALID [2021-09-13 23:55:52,492 INFO L281 TraceCheckUtils]: 5: Hoare triple {9553#true} ~len~0 := 3; {9553#true} is VALID [2021-09-13 23:55:52,493 INFO L264 TraceCheckUtils]: 6: Hoare triple {9553#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {9586#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2021-09-13 23:55:52,493 INFO L281 TraceCheckUtils]: 7: Hoare triple {9586#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:52,494 INFO L281 TraceCheckUtils]: 8: Hoare triple {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:52,494 INFO L281 TraceCheckUtils]: 9: Hoare triple {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:52,494 INFO L281 TraceCheckUtils]: 10: Hoare triple {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:52,494 INFO L281 TraceCheckUtils]: 11: Hoare triple {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:52,494 INFO L281 TraceCheckUtils]: 12: Hoare triple {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:52,495 INFO L281 TraceCheckUtils]: 13: Hoare triple {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:52,495 INFO L281 TraceCheckUtils]: 14: Hoare triple {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:52,495 INFO L281 TraceCheckUtils]: 15: Hoare triple {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:52,495 INFO L281 TraceCheckUtils]: 16: Hoare triple {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:52,496 INFO L281 TraceCheckUtils]: 17: Hoare triple {9587#(<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {9588#(and (= dll_circular_create_~new_head~0.offset 0) (<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|))} is VALID [2021-09-13 23:55:52,496 INFO L281 TraceCheckUtils]: 18: Hoare triple {9588#(and (= dll_circular_create_~new_head~0.offset 0) (<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {9588#(and (= dll_circular_create_~new_head~0.offset 0) (<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|))} is VALID [2021-09-13 23:55:52,496 INFO L281 TraceCheckUtils]: 19: Hoare triple {9588#(and (= dll_circular_create_~new_head~0.offset 0) (<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {9588#(and (= dll_circular_create_~new_head~0.offset 0) (<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|))} is VALID [2021-09-13 23:55:52,497 INFO L281 TraceCheckUtils]: 20: Hoare triple {9588#(and (= dll_circular_create_~new_head~0.offset 0) (<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {9588#(and (= dll_circular_create_~new_head~0.offset 0) (<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|))} is VALID [2021-09-13 23:55:52,497 INFO L281 TraceCheckUtils]: 21: Hoare triple {9588#(and (= dll_circular_create_~new_head~0.offset 0) (<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {9589#(and (= dll_circular_create_~head~0.offset 0) (<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|))} is VALID [2021-09-13 23:55:52,497 INFO L281 TraceCheckUtils]: 22: Hoare triple {9589#(and (= dll_circular_create_~head~0.offset 0) (<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|))} assume !(~len > 1); {9589#(and (= dll_circular_create_~head~0.offset 0) (<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|))} is VALID [2021-09-13 23:55:52,498 INFO L281 TraceCheckUtils]: 23: Hoare triple {9589#(and (= dll_circular_create_~head~0.offset 0) (<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {9589#(and (= dll_circular_create_~head~0.offset 0) (<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|))} is VALID [2021-09-13 23:55:52,498 INFO L281 TraceCheckUtils]: 24: Hoare triple {9589#(and (= dll_circular_create_~head~0.offset 0) (<= (+ dll_circular_create_~last~0.base 1) |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {9590#(and (<= (+ (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) 1) |#StackHeapBarrier|) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:55:52,499 INFO L281 TraceCheckUtils]: 25: Hoare triple {9590#(and (<= (+ (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) 1) |#StackHeapBarrier|) (= dll_circular_create_~head~0.offset 0))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {9591#(and (<= (+ (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4) 1) |#StackHeapBarrier|) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:55:52,499 INFO L281 TraceCheckUtils]: 26: Hoare triple {9591#(and (<= (+ (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4) 1) |#StackHeapBarrier|) (= |dll_circular_create_#res.offset| 0))} assume true; {9591#(and (<= (+ (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4) 1) |#StackHeapBarrier|) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:55:52,500 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {9591#(and (<= (+ (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4) 1) |#StackHeapBarrier|) (= |dll_circular_create_#res.offset| 0))} {9553#true} #197#return; {9579#(and (<= (+ (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) 1) |#StackHeapBarrier|) (= |main_#t~ret12.offset| 0))} is VALID [2021-09-13 23:55:52,500 INFO L281 TraceCheckUtils]: 28: Hoare triple {9579#(and (<= (+ (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) 1) |#StackHeapBarrier|) (= |main_#t~ret12.offset| 0))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {9580#(and (<= (+ (select (select |#memory_$Pointer$.base| main_~head~1.base) 4) 1) |#StackHeapBarrier|) (= 0 main_~head~1.offset))} is VALID [2021-09-13 23:55:52,501 INFO L264 TraceCheckUtils]: 29: Hoare triple {9580#(and (<= (+ (select (select |#memory_$Pointer$.base| main_~head~1.base) 4) 1) |#StackHeapBarrier|) (= 0 main_~head~1.offset))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {9581#(and (<= (+ (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4) 1) |#StackHeapBarrier|) (= |_destroy_in_nondeterministic_order_#in~head.offset| 0))} is VALID [2021-09-13 23:55:52,501 INFO L281 TraceCheckUtils]: 30: Hoare triple {9581#(and (<= (+ (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4) 1) |#StackHeapBarrier|) (= |_destroy_in_nondeterministic_order_#in~head.offset| 0))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {9582#(<= (+ (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)) 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:52,501 INFO L281 TraceCheckUtils]: 31: Hoare triple {9582#(<= (+ (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)) 1) |#StackHeapBarrier|)} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, 4 + ~head.offset, 4); srcloc: L586 {9583#(<= (+ |_destroy_in_nondeterministic_order_#t~mem5.base| 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:52,502 INFO L281 TraceCheckUtils]: 32: Hoare triple {9583#(<= (+ |_destroy_in_nondeterministic_order_#t~mem5.base| 1) |#StackHeapBarrier|)} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {9584#(<= (+ _destroy_in_nondeterministic_order_~pred~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:52,502 INFO L281 TraceCheckUtils]: 33: Hoare triple {9584#(<= (+ _destroy_in_nondeterministic_order_~pred~0.base 1) |#StackHeapBarrier|)} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4); srcloc: L587 {9584#(<= (+ _destroy_in_nondeterministic_order_~pred~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:52,502 INFO L281 TraceCheckUtils]: 34: Hoare triple {9584#(<= (+ _destroy_in_nondeterministic_order_~pred~0.base 1) |#StackHeapBarrier|)} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647; {9584#(<= (+ _destroy_in_nondeterministic_order_~pred~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:52,502 INFO L281 TraceCheckUtils]: 35: Hoare triple {9584#(<= (+ _destroy_in_nondeterministic_order_~pred~0.base 1) |#StackHeapBarrier|)} assume !(0 != #t~nondet7);havoc #t~nondet7;assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {9584#(<= (+ _destroy_in_nondeterministic_order_~pred~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:52,503 INFO L281 TraceCheckUtils]: 36: Hoare triple {9584#(<= (+ _destroy_in_nondeterministic_order_~pred~0.base 1) |#StackHeapBarrier|)} assume !(0 != #t~nondet9);havoc #t~nondet9; {9584#(<= (+ _destroy_in_nondeterministic_order_~pred~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:52,503 INFO L281 TraceCheckUtils]: 37: Hoare triple {9584#(<= (+ _destroy_in_nondeterministic_order_~pred~0.base 1) |#StackHeapBarrier|)} assume 0 == ~pred~0.offset; {9584#(<= (+ _destroy_in_nondeterministic_order_~pred~0.base 1) |#StackHeapBarrier|)} is VALID [2021-09-13 23:55:52,503 INFO L281 TraceCheckUtils]: 38: Hoare triple {9584#(<= (+ _destroy_in_nondeterministic_order_~pred~0.base 1) |#StackHeapBarrier|)} assume !(~pred~0.base < #StackHeapBarrier); {9554#false} is VALID [2021-09-13 23:55:52,503 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2021-09-13 23:55:52,504 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 23:55:52,504 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [437727295] [2021-09-13 23:55:52,504 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [437727295] provided 1 perfect and 0 imperfect interpolant sequences [2021-09-13 23:55:52,504 INFO L186 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2021-09-13 23:55:52,504 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2021-09-13 23:55:52,505 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1576980182] [2021-09-13 23:55:52,505 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 2.5384615384615383) internal successors, (33), 11 states have internal predecessors, (33), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 39 [2021-09-13 23:55:52,505 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:55:52,505 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 15 states, 13 states have (on average 2.5384615384615383) internal successors, (33), 11 states have internal predecessors, (33), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:55:52,522 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:52,522 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2021-09-13 23:55:52,523 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 23:55:52,524 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2021-09-13 23:55:52,524 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=181, Unknown=0, NotChecked=0, Total=210 [2021-09-13 23:55:52,524 INFO L87 Difference]: Start difference. First operand 105 states and 110 transitions. Second operand has 15 states, 13 states have (on average 2.5384615384615383) internal successors, (33), 11 states have internal predecessors, (33), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:55:53,968 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:53,968 INFO L93 Difference]: Finished difference Result 100 states and 105 transitions. [2021-09-13 23:55:53,968 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2021-09-13 23:55:53,969 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 2.5384615384615383) internal successors, (33), 11 states have internal predecessors, (33), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 39 [2021-09-13 23:55:53,969 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:55:53,969 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 2.5384615384615383) internal successors, (33), 11 states have internal predecessors, (33), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:55:53,970 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 109 transitions. [2021-09-13 23:55:53,971 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 2.5384615384615383) internal successors, (33), 11 states have internal predecessors, (33), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:55:53,971 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 109 transitions. [2021-09-13 23:55:53,971 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 109 transitions. [2021-09-13 23:55:54,051 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:54,053 INFO L225 Difference]: With dead ends: 100 [2021-09-13 23:55:54,053 INFO L226 Difference]: Without dead ends: 100 [2021-09-13 23:55:54,054 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 26 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 40 ImplicationChecksByTransitivity, 193.49ms TimeCoverageRelationStatistics Valid=94, Invalid=458, Unknown=0, NotChecked=0, Total=552 [2021-09-13 23:55:54,054 INFO L928 BasicCegarLoop]: 6 mSDtfsCounter, 243 mSDsluCounter, 248 mSDsCounter, 0 mSdLazyCounter, 1019 mSolverCounterSat, 24 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 660.00ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 244 SdHoareTripleChecker+Valid, 42 SdHoareTripleChecker+Invalid, 1043 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 2.47ms SdHoareTripleChecker+Time, 24 IncrementalHoareTripleChecker+Valid, 1019 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 665.09ms IncrementalHoareTripleChecker+Time [2021-09-13 23:55:54,055 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [244 Valid, 42 Invalid, 1043 Unknown, 0 Unchecked, 2.47ms Time], IncrementalHoareTripleChecker [24 Valid, 1019 Invalid, 0 Unknown, 0 Unchecked, 665.09ms Time] [2021-09-13 23:55:54,055 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2021-09-13 23:55:54,059 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 100. [2021-09-13 23:55:54,059 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:55:54,060 INFO L82 GeneralOperation]: Start isEquivalent. First operand 100 states. Second operand has 100 states, 79 states have (on average 1.240506329113924) internal successors, (98), 92 states have internal predecessors, (98), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:54,060 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand has 100 states, 79 states have (on average 1.240506329113924) internal successors, (98), 92 states have internal predecessors, (98), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:54,061 INFO L87 Difference]: Start difference. First operand 100 states. Second operand has 100 states, 79 states have (on average 1.240506329113924) internal successors, (98), 92 states have internal predecessors, (98), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:54,062 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:54,062 INFO L93 Difference]: Finished difference Result 100 states and 105 transitions. [2021-09-13 23:55:54,062 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 105 transitions. [2021-09-13 23:55:54,062 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:54,063 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:54,063 INFO L74 IsIncluded]: Start isIncluded. First operand has 100 states, 79 states have (on average 1.240506329113924) internal successors, (98), 92 states have internal predecessors, (98), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 100 states. [2021-09-13 23:55:54,063 INFO L87 Difference]: Start difference. First operand has 100 states, 79 states have (on average 1.240506329113924) internal successors, (98), 92 states have internal predecessors, (98), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 100 states. [2021-09-13 23:55:54,065 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:55:54,065 INFO L93 Difference]: Finished difference Result 100 states and 105 transitions. [2021-09-13 23:55:54,065 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 105 transitions. [2021-09-13 23:55:54,065 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:55:54,065 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:55:54,065 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:55:54,065 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:55:54,066 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 100 states, 79 states have (on average 1.240506329113924) internal successors, (98), 92 states have internal predecessors, (98), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:55:54,066 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 105 transitions. [2021-09-13 23:55:54,067 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 105 transitions. Word has length 39 [2021-09-13 23:55:54,067 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:55:54,068 INFO L470 AbstractCegarLoop]: Abstraction has 100 states and 105 transitions. [2021-09-13 23:55:54,068 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 13 states have (on average 2.5384615384615383) internal successors, (33), 11 states have internal predecessors, (33), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:55:54,068 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 105 transitions. [2021-09-13 23:55:54,069 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2021-09-13 23:55:54,069 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:55:54,069 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1] [2021-09-13 23:55:54,069 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable16 [2021-09-13 23:55:54,069 INFO L402 AbstractCegarLoop]: === Iteration 18 === Targeting _destroy_in_nondeterministic_orderErr21ASSERT_VIOLATIONMEMORY_FREE === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:55:54,070 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:55:54,070 INFO L82 PathProgramCache]: Analyzing trace with hash 244111542, now seen corresponding path program 1 times [2021-09-13 23:55:54,070 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 23:55:54,070 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1320056235] [2021-09-13 23:55:54,070 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:55:54,070 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 23:55:54,084 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:54,182 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2021-09-13 23:55:54,183 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:54,190 INFO L281 TraceCheckUtils]: 0: Hoare triple {10045#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {10013#true} is VALID [2021-09-13 23:55:54,190 INFO L281 TraceCheckUtils]: 1: Hoare triple {10013#true} assume true; {10013#true} is VALID [2021-09-13 23:55:54,190 INFO L276 TraceCheckUtils]: 2: Hoare quadruple {10013#true} {10013#true} #201#return; {10013#true} is VALID [2021-09-13 23:55:54,200 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2021-09-13 23:55:54,210 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:54,502 INFO L281 TraceCheckUtils]: 0: Hoare triple {10046#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {10013#true} is VALID [2021-09-13 23:55:54,502 INFO L281 TraceCheckUtils]: 1: Hoare triple {10013#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {10013#true} is VALID [2021-09-13 23:55:54,502 INFO L281 TraceCheckUtils]: 2: Hoare triple {10013#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {10013#true} is VALID [2021-09-13 23:55:54,502 INFO L281 TraceCheckUtils]: 3: Hoare triple {10013#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {10013#true} is VALID [2021-09-13 23:55:54,502 INFO L281 TraceCheckUtils]: 4: Hoare triple {10013#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {10047#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:55:54,503 INFO L281 TraceCheckUtils]: 5: Hoare triple {10047#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {10047#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:55:54,503 INFO L281 TraceCheckUtils]: 6: Hoare triple {10047#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {10047#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:55:54,503 INFO L281 TraceCheckUtils]: 7: Hoare triple {10047#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {10048#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:55:54,504 INFO L281 TraceCheckUtils]: 8: Hoare triple {10048#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {10049#(and (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:55:54,504 INFO L281 TraceCheckUtils]: 9: Hoare triple {10049#(and (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {10050#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:55:54,505 INFO L281 TraceCheckUtils]: 10: Hoare triple {10050#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (= (select |#valid| dll_circular_create_~last~0.base) 1))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {10051#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:55:54,506 INFO L281 TraceCheckUtils]: 11: Hoare triple {10051#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {10051#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:55:54,506 INFO L281 TraceCheckUtils]: 12: Hoare triple {10051#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {10052#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~head~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} is VALID [2021-09-13 23:55:54,507 INFO L281 TraceCheckUtils]: 13: Hoare triple {10052#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~head~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {10053#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) 1))} is VALID [2021-09-13 23:55:54,507 INFO L281 TraceCheckUtils]: 14: Hoare triple {10053#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) 1))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {10054#(= (select |#valid| (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) 1)} is VALID [2021-09-13 23:55:54,508 INFO L281 TraceCheckUtils]: 15: Hoare triple {10054#(= (select |#valid| (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) 1)} assume !(~len > 1); {10054#(= (select |#valid| (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) 1)} is VALID [2021-09-13 23:55:54,508 INFO L281 TraceCheckUtils]: 16: Hoare triple {10054#(= (select |#valid| (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) 1)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {10055#(= (select |#valid| (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset)) 1)} is VALID [2021-09-13 23:55:54,509 INFO L281 TraceCheckUtils]: 17: Hoare triple {10055#(= (select |#valid| (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset)) 1)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {10055#(= (select |#valid| (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset)) 1)} is VALID [2021-09-13 23:55:54,509 INFO L281 TraceCheckUtils]: 18: Hoare triple {10055#(= (select |#valid| (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset)) 1)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {10056#(= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) 1)} is VALID [2021-09-13 23:55:54,510 INFO L281 TraceCheckUtils]: 19: Hoare triple {10056#(= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) 1)} assume true; {10056#(= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) 1)} is VALID [2021-09-13 23:55:54,511 INFO L276 TraceCheckUtils]: 20: Hoare quadruple {10056#(= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) 1)} {10013#true} #197#return; {10039#(= (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|)) 1)} is VALID [2021-09-13 23:55:54,512 INFO L264 TraceCheckUtils]: 0: Hoare triple {10013#true} call ULTIMATE.init(); {10045#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2021-09-13 23:55:54,512 INFO L281 TraceCheckUtils]: 1: Hoare triple {10045#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {10013#true} is VALID [2021-09-13 23:55:54,512 INFO L281 TraceCheckUtils]: 2: Hoare triple {10013#true} assume true; {10013#true} is VALID [2021-09-13 23:55:54,512 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {10013#true} {10013#true} #201#return; {10013#true} is VALID [2021-09-13 23:55:54,512 INFO L264 TraceCheckUtils]: 4: Hoare triple {10013#true} call #t~ret13 := main(); {10013#true} is VALID [2021-09-13 23:55:54,512 INFO L281 TraceCheckUtils]: 5: Hoare triple {10013#true} ~len~0 := 3; {10013#true} is VALID [2021-09-13 23:55:54,513 INFO L264 TraceCheckUtils]: 6: Hoare triple {10013#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {10046#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2021-09-13 23:55:54,513 INFO L281 TraceCheckUtils]: 7: Hoare triple {10046#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {10013#true} is VALID [2021-09-13 23:55:54,513 INFO L281 TraceCheckUtils]: 8: Hoare triple {10013#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {10013#true} is VALID [2021-09-13 23:55:54,514 INFO L281 TraceCheckUtils]: 9: Hoare triple {10013#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {10013#true} is VALID [2021-09-13 23:55:54,514 INFO L281 TraceCheckUtils]: 10: Hoare triple {10013#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {10013#true} is VALID [2021-09-13 23:55:54,514 INFO L281 TraceCheckUtils]: 11: Hoare triple {10013#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {10047#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:55:54,515 INFO L281 TraceCheckUtils]: 12: Hoare triple {10047#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {10047#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:55:54,515 INFO L281 TraceCheckUtils]: 13: Hoare triple {10047#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {10047#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:55:54,516 INFO L281 TraceCheckUtils]: 14: Hoare triple {10047#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {10048#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:55:54,516 INFO L281 TraceCheckUtils]: 15: Hoare triple {10048#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {10049#(and (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:55:54,517 INFO L281 TraceCheckUtils]: 16: Hoare triple {10049#(and (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {10050#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:55:54,517 INFO L281 TraceCheckUtils]: 17: Hoare triple {10050#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (= (select |#valid| dll_circular_create_~last~0.base) 1))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {10051#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:55:54,518 INFO L281 TraceCheckUtils]: 18: Hoare triple {10051#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {10051#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:55:54,519 INFO L281 TraceCheckUtils]: 19: Hoare triple {10051#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {10052#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~head~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} is VALID [2021-09-13 23:55:54,519 INFO L281 TraceCheckUtils]: 20: Hoare triple {10052#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~head~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {10053#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) 1))} is VALID [2021-09-13 23:55:54,520 INFO L281 TraceCheckUtils]: 21: Hoare triple {10053#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) 1))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {10054#(= (select |#valid| (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) 1)} is VALID [2021-09-13 23:55:54,520 INFO L281 TraceCheckUtils]: 22: Hoare triple {10054#(= (select |#valid| (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) 1)} assume !(~len > 1); {10054#(= (select |#valid| (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) 1)} is VALID [2021-09-13 23:55:54,521 INFO L281 TraceCheckUtils]: 23: Hoare triple {10054#(= (select |#valid| (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) 1)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {10055#(= (select |#valid| (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset)) 1)} is VALID [2021-09-13 23:55:54,522 INFO L281 TraceCheckUtils]: 24: Hoare triple {10055#(= (select |#valid| (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset)) 1)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {10055#(= (select |#valid| (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset)) 1)} is VALID [2021-09-13 23:55:54,522 INFO L281 TraceCheckUtils]: 25: Hoare triple {10055#(= (select |#valid| (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset)) 1)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {10056#(= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) 1)} is VALID [2021-09-13 23:55:54,523 INFO L281 TraceCheckUtils]: 26: Hoare triple {10056#(= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) 1)} assume true; {10056#(= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) 1)} is VALID [2021-09-13 23:55:54,524 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {10056#(= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) 1)} {10013#true} #197#return; {10039#(= (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|)) 1)} is VALID [2021-09-13 23:55:54,524 INFO L281 TraceCheckUtils]: 28: Hoare triple {10039#(= (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|)) 1)} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {10040#(= (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset)) 1)} is VALID [2021-09-13 23:55:54,525 INFO L264 TraceCheckUtils]: 29: Hoare triple {10040#(= (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset)) 1)} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {10041#(= (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|)) 1)} is VALID [2021-09-13 23:55:54,525 INFO L281 TraceCheckUtils]: 30: Hoare triple {10041#(= (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|)) 1)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {10042#(= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset)) 1)} is VALID [2021-09-13 23:55:54,525 INFO L281 TraceCheckUtils]: 31: Hoare triple {10042#(= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset)) 1)} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, 4 + ~head.offset, 4); srcloc: L586 {10042#(= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset)) 1)} is VALID [2021-09-13 23:55:54,526 INFO L281 TraceCheckUtils]: 32: Hoare triple {10042#(= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset)) 1)} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {10042#(= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset)) 1)} is VALID [2021-09-13 23:55:54,526 INFO L281 TraceCheckUtils]: 33: Hoare triple {10042#(= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset)) 1)} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4); srcloc: L587 {10043#(= (select |#valid| |_destroy_in_nondeterministic_order_#t~mem6.base|) 1)} is VALID [2021-09-13 23:55:54,527 INFO L281 TraceCheckUtils]: 34: Hoare triple {10043#(= (select |#valid| |_destroy_in_nondeterministic_order_#t~mem6.base|) 1)} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647; {10044#(= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1)} is VALID [2021-09-13 23:55:54,527 INFO L281 TraceCheckUtils]: 35: Hoare triple {10044#(= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1)} assume !(0 != #t~nondet7);havoc #t~nondet7;assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {10044#(= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1)} is VALID [2021-09-13 23:55:54,527 INFO L281 TraceCheckUtils]: 36: Hoare triple {10044#(= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1)} assume 0 != #t~nondet9;havoc #t~nondet9; {10044#(= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1)} is VALID [2021-09-13 23:55:54,527 INFO L281 TraceCheckUtils]: 37: Hoare triple {10044#(= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1)} assume 0 == ~succ~0.offset; {10044#(= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1)} is VALID [2021-09-13 23:55:54,528 INFO L281 TraceCheckUtils]: 38: Hoare triple {10044#(= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1)} assume ~succ~0.base < #StackHeapBarrier; {10044#(= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1)} is VALID [2021-09-13 23:55:54,528 INFO L281 TraceCheckUtils]: 39: Hoare triple {10044#(= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1)} assume !(0 == ~succ~0.base || 1 == #valid[~succ~0.base]); {10014#false} is VALID [2021-09-13 23:55:54,528 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:55:54,529 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 23:55:54,529 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1320056235] [2021-09-13 23:55:54,529 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1320056235] provided 0 perfect and 1 imperfect interpolant sequences [2021-09-13 23:55:54,529 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1851782994] [2021-09-13 23:55:54,529 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:55:54,529 INFO L170 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 23:55:54,529 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-09-13 23:55:54,530 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) [2021-09-13 23:55:54,531 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2021-09-13 23:55:54,611 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:54,613 INFO L263 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 49 conjunts are in the unsatisfiable core [2021-09-13 23:55:54,623 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:55:54,624 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 23:55:54,670 INFO L388 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 [2021-09-13 23:55:54,765 INFO L354 Elim1Store]: treesize reduction 44, result has 30.2 percent of original size [2021-09-13 23:55:54,766 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 5 case distinctions, treesize of input 22 treesize of output 33 [2021-09-13 23:55:54,867 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2021-09-13 23:55:54,955 INFO L354 Elim1Store]: treesize reduction 29, result has 19.4 percent of original size [2021-09-13 23:55:54,956 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 39 treesize of output 29 [2021-09-13 23:55:55,214 INFO L354 Elim1Store]: treesize reduction 45, result has 16.7 percent of original size [2021-09-13 23:55:55,215 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 42 treesize of output 39 [2021-09-13 23:55:55,401 INFO L190 IndexEqualityManager]: detected not equals via solver [2021-09-13 23:55:55,428 INFO L354 Elim1Store]: treesize reduction 102, result has 14.3 percent of original size [2021-09-13 23:55:55,428 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 5 case distinctions, treesize of input 60 treesize of output 60 [2021-09-13 23:55:56,303 INFO L354 Elim1Store]: treesize reduction 66, result has 1.5 percent of original size [2021-09-13 23:55:56,303 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 1 disjoint index pairs (out of 6 index pairs), introduced 6 new quantified variables, introduced 6 case distinctions, treesize of input 71 treesize of output 39 [2021-09-13 23:55:57,264 INFO L264 TraceCheckUtils]: 0: Hoare triple {10013#true} call ULTIMATE.init(); {10013#true} is VALID [2021-09-13 23:55:57,264 INFO L281 TraceCheckUtils]: 1: Hoare triple {10013#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {10013#true} is VALID [2021-09-13 23:55:57,265 INFO L281 TraceCheckUtils]: 2: Hoare triple {10013#true} assume true; {10013#true} is VALID [2021-09-13 23:55:57,265 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {10013#true} {10013#true} #201#return; {10013#true} is VALID [2021-09-13 23:55:57,265 INFO L264 TraceCheckUtils]: 4: Hoare triple {10013#true} call #t~ret13 := main(); {10013#true} is VALID [2021-09-13 23:55:57,265 INFO L281 TraceCheckUtils]: 5: Hoare triple {10013#true} ~len~0 := 3; {10013#true} is VALID [2021-09-13 23:55:57,265 INFO L264 TraceCheckUtils]: 6: Hoare triple {10013#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {10013#true} is VALID [2021-09-13 23:55:57,265 INFO L281 TraceCheckUtils]: 7: Hoare triple {10013#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {10013#true} is VALID [2021-09-13 23:55:57,265 INFO L281 TraceCheckUtils]: 8: Hoare triple {10013#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {10013#true} is VALID [2021-09-13 23:55:57,265 INFO L281 TraceCheckUtils]: 9: Hoare triple {10013#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {10013#true} is VALID [2021-09-13 23:55:57,265 INFO L281 TraceCheckUtils]: 10: Hoare triple {10013#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {10013#true} is VALID [2021-09-13 23:55:57,266 INFO L281 TraceCheckUtils]: 11: Hoare triple {10013#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {10047#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:55:57,266 INFO L281 TraceCheckUtils]: 12: Hoare triple {10047#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {10048#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:55:57,267 INFO L281 TraceCheckUtils]: 13: Hoare triple {10048#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {10048#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:55:57,267 INFO L281 TraceCheckUtils]: 14: Hoare triple {10048#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {10048#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:55:57,268 INFO L281 TraceCheckUtils]: 15: Hoare triple {10048#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {10049#(and (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:55:57,268 INFO L281 TraceCheckUtils]: 16: Hoare triple {10049#(and (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {10050#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:55:57,269 INFO L281 TraceCheckUtils]: 17: Hoare triple {10050#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (= (select |#valid| dll_circular_create_~last~0.base) 1))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {10111#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= (select |#valid| dll_circular_create_~head~0.base) 1) (= dll_circular_create_~new_head~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:55:57,269 INFO L281 TraceCheckUtils]: 18: Hoare triple {10111#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= (select |#valid| dll_circular_create_~head~0.base) 1) (= dll_circular_create_~new_head~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {10111#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= (select |#valid| dll_circular_create_~head~0.base) 1) (= dll_circular_create_~new_head~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:55:57,270 INFO L281 TraceCheckUtils]: 19: Hoare triple {10111#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= (select |#valid| dll_circular_create_~head~0.base) 1) (= dll_circular_create_~new_head~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {10118#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= (select |#valid| dll_circular_create_~head~0.base) 1) (= dll_circular_create_~new_head~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:55:57,271 INFO L281 TraceCheckUtils]: 20: Hoare triple {10118#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= (select |#valid| dll_circular_create_~head~0.base) 1) (= dll_circular_create_~new_head~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {10122#(and (exists ((dll_circular_create_~head~0.offset Int)) (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (+ dll_circular_create_~head~0.offset 4)))) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:55:57,272 INFO L281 TraceCheckUtils]: 21: Hoare triple {10122#(and (exists ((dll_circular_create_~head~0.offset Int)) (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (+ dll_circular_create_~head~0.offset 4)))) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {10126#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (exists ((v_dll_circular_create_~head~0.offset_29 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_29 4)))) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) 1))} is VALID [2021-09-13 23:55:57,272 INFO L281 TraceCheckUtils]: 22: Hoare triple {10126#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (exists ((v_dll_circular_create_~head~0.offset_29 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_29 4)))) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) 1))} assume !(~len > 1); {10126#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (exists ((v_dll_circular_create_~head~0.offset_29 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_29 4)))) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) 1))} is VALID [2021-09-13 23:55:57,274 INFO L281 TraceCheckUtils]: 23: Hoare triple {10126#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (exists ((v_dll_circular_create_~head~0.offset_29 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_29 4)))) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) 1))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {10133#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (exists ((v_dll_circular_create_~head~0.offset_29 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_29 4)))) (= (select |#valid| dll_circular_create_~last~0.base) 1) (exists ((dll_circular_create_~last~0.offset Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset))) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) 1))} is VALID [2021-09-13 23:55:57,276 INFO L281 TraceCheckUtils]: 24: Hoare triple {10133#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (exists ((v_dll_circular_create_~head~0.offset_29 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_29 4)))) (= (select |#valid| dll_circular_create_~last~0.base) 1) (exists ((dll_circular_create_~last~0.offset Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset))) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) 1))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {10137#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (= dll_circular_create_~head~0.offset 0) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4)))) (exists ((v_dll_circular_create_~head~0.offset_29 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_29 4)))) (exists ((dll_circular_create_~last~0.offset Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset))) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4))) 1) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) 1))} is VALID [2021-09-13 23:55:57,277 INFO L281 TraceCheckUtils]: 25: Hoare triple {10137#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (= dll_circular_create_~head~0.offset 0) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4)))) (exists ((v_dll_circular_create_~head~0.offset_29 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_29 4)))) (exists ((dll_circular_create_~last~0.offset Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset))) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4))) 1) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) 1))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {10141#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0)) 1) (= (select |#valid| |dll_circular_create_#res.base|) 1) (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4))) 1) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4)))) (exists ((dll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|)) (= |dll_circular_create_#res.offset| 0) (exists ((v_dll_circular_create_~head~0.offset_29 Int)) (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0)) (+ v_dll_circular_create_~head~0.offset_29 4)))))} is VALID [2021-09-13 23:55:57,277 INFO L281 TraceCheckUtils]: 26: Hoare triple {10141#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0)) 1) (= (select |#valid| |dll_circular_create_#res.base|) 1) (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4))) 1) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4)))) (exists ((dll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|)) (= |dll_circular_create_#res.offset| 0) (exists ((v_dll_circular_create_~head~0.offset_29 Int)) (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0)) (+ v_dll_circular_create_~head~0.offset_29 4)))))} assume true; {10141#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0)) 1) (= (select |#valid| |dll_circular_create_#res.base|) 1) (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4))) 1) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4)))) (exists ((dll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|)) (= |dll_circular_create_#res.offset| 0) (exists ((v_dll_circular_create_~head~0.offset_29 Int)) (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0)) (+ v_dll_circular_create_~head~0.offset_29 4)))))} is VALID [2021-09-13 23:55:57,279 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {10141#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0)) 1) (= (select |#valid| |dll_circular_create_#res.base|) 1) (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4))) 1) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4)))) (exists ((dll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|)) (= |dll_circular_create_#res.offset| 0) (exists ((v_dll_circular_create_~head~0.offset_29 Int)) (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0)) (+ v_dll_circular_create_~head~0.offset_29 4)))))} {10013#true} #197#return; {10148#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4)) 1) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0) |main_#t~ret12.base|)) (exists ((dll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4)) dll_circular_create_~last~0.offset) |main_#t~ret12.base|)) (= (select |#valid| |main_#t~ret12.base|) 1) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0))) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|)) (= |main_#t~ret12.offset| 0) (exists ((v_dll_circular_create_~head~0.offset_29 Int)) (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0)) (+ v_dll_circular_create_~head~0.offset_29 4)))))} is VALID [2021-09-13 23:55:57,280 INFO L281 TraceCheckUtils]: 28: Hoare triple {10148#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4)) 1) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0) |main_#t~ret12.base|)) (exists ((dll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4)) dll_circular_create_~last~0.offset) |main_#t~ret12.base|)) (= (select |#valid| |main_#t~ret12.base|) 1) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0))) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|)) (= |main_#t~ret12.offset| 0) (exists ((v_dll_circular_create_~head~0.offset_29 Int)) (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0)) (+ v_dll_circular_create_~head~0.offset_29 4)))))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {10152#(and (exists ((v_dll_circular_create_~head~0.offset_29 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) 0)) (+ v_dll_circular_create_~head~0.offset_29 4)) main_~head~1.base)) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) 0) main_~head~1.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)) 1) (= (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) 0)) 1) (exists ((dll_circular_create_~last~0.offset Int)) (= main_~head~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)) dll_circular_create_~last~0.offset))) (= (select |#valid| main_~head~1.base) 1) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))) (= 0 main_~head~1.offset))} is VALID [2021-09-13 23:55:57,281 INFO L264 TraceCheckUtils]: 29: Hoare triple {10152#(and (exists ((v_dll_circular_create_~head~0.offset_29 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) 0)) (+ v_dll_circular_create_~head~0.offset_29 4)) main_~head~1.base)) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) 0) main_~head~1.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)) 1) (= (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) 0)) 1) (exists ((dll_circular_create_~last~0.offset Int)) (= main_~head~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)) dll_circular_create_~last~0.offset))) (= (select |#valid| main_~head~1.base) 1) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))) (= 0 main_~head~1.offset))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {10156#(and (= (select |#valid| |_destroy_in_nondeterministic_order_#in~head.base|) 1) (exists ((v_dll_circular_create_~head~0.offset_29 Int)) (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0)) (+ v_dll_circular_create_~head~0.offset_29 4)))) (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)) 1) (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)) dll_circular_create_~last~0.offset))) (= |_destroy_in_nondeterministic_order_#in~head.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0)) 1))} is VALID [2021-09-13 23:55:57,281 INFO L281 TraceCheckUtils]: 30: Hoare triple {10156#(and (= (select |#valid| |_destroy_in_nondeterministic_order_#in~head.base|) 1) (exists ((v_dll_circular_create_~head~0.offset_29 Int)) (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0)) (+ v_dll_circular_create_~head~0.offset_29 4)))) (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)) 1) (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)) dll_circular_create_~last~0.offset))) (= |_destroy_in_nondeterministic_order_#in~head.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0)) 1))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {10160#(and (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) 1) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (exists ((v_dll_circular_create_~head~0.offset_29 Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_29 4)))) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) 1) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} is VALID [2021-09-13 23:55:57,282 INFO L281 TraceCheckUtils]: 31: Hoare triple {10160#(and (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) 1) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (exists ((v_dll_circular_create_~head~0.offset_29 Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_29 4)))) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) 1) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, 4 + ~head.offset, 4); srcloc: L586 {10160#(and (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) 1) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (exists ((v_dll_circular_create_~head~0.offset_29 Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_29 4)))) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) 1) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} is VALID [2021-09-13 23:55:57,283 INFO L281 TraceCheckUtils]: 32: Hoare triple {10160#(and (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) 1) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (exists ((v_dll_circular_create_~head~0.offset_29 Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_29 4)))) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) 1) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {10160#(and (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) 1) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (exists ((v_dll_circular_create_~head~0.offset_29 Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_29 4)))) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) 1) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} is VALID [2021-09-13 23:55:57,284 INFO L281 TraceCheckUtils]: 33: Hoare triple {10160#(and (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) 1) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (exists ((v_dll_circular_create_~head~0.offset_29 Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_29 4)))) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) 1) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4); srcloc: L587 {10170#(and (= (select |#valid| |_destroy_in_nondeterministic_order_#t~mem6.base|) 1) (exists ((v_arrayElimCell_46 Int) (v_arrayElimCell_45 Int)) (and (= (select |#valid| v_arrayElimCell_45) 1) (= (select |#valid| v_arrayElimCell_46) 1) (not (= v_arrayElimCell_46 v_arrayElimCell_45)) (not (= |_destroy_in_nondeterministic_order_#t~mem6.base| v_arrayElimCell_45)))))} is VALID [2021-09-13 23:55:57,285 INFO L281 TraceCheckUtils]: 34: Hoare triple {10170#(and (= (select |#valid| |_destroy_in_nondeterministic_order_#t~mem6.base|) 1) (exists ((v_arrayElimCell_46 Int) (v_arrayElimCell_45 Int)) (and (= (select |#valid| v_arrayElimCell_45) 1) (= (select |#valid| v_arrayElimCell_46) 1) (not (= v_arrayElimCell_46 v_arrayElimCell_45)) (not (= |_destroy_in_nondeterministic_order_#t~mem6.base| v_arrayElimCell_45)))))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647; {10174#(and (exists ((v_arrayElimCell_46 Int) (v_arrayElimCell_45 Int)) (and (= (select |#valid| v_arrayElimCell_45) 1) (= (select |#valid| v_arrayElimCell_46) 1) (not (= _destroy_in_nondeterministic_order_~succ~0.base v_arrayElimCell_45)) (not (= v_arrayElimCell_46 v_arrayElimCell_45)))) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1))} is VALID [2021-09-13 23:55:57,285 INFO L281 TraceCheckUtils]: 35: Hoare triple {10174#(and (exists ((v_arrayElimCell_46 Int) (v_arrayElimCell_45 Int)) (and (= (select |#valid| v_arrayElimCell_45) 1) (= (select |#valid| v_arrayElimCell_46) 1) (not (= _destroy_in_nondeterministic_order_~succ~0.base v_arrayElimCell_45)) (not (= v_arrayElimCell_46 v_arrayElimCell_45)))) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1))} assume !(0 != #t~nondet7);havoc #t~nondet7;assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {10174#(and (exists ((v_arrayElimCell_46 Int) (v_arrayElimCell_45 Int)) (and (= (select |#valid| v_arrayElimCell_45) 1) (= (select |#valid| v_arrayElimCell_46) 1) (not (= _destroy_in_nondeterministic_order_~succ~0.base v_arrayElimCell_45)) (not (= v_arrayElimCell_46 v_arrayElimCell_45)))) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1))} is VALID [2021-09-13 23:55:57,285 INFO L281 TraceCheckUtils]: 36: Hoare triple {10174#(and (exists ((v_arrayElimCell_46 Int) (v_arrayElimCell_45 Int)) (and (= (select |#valid| v_arrayElimCell_45) 1) (= (select |#valid| v_arrayElimCell_46) 1) (not (= _destroy_in_nondeterministic_order_~succ~0.base v_arrayElimCell_45)) (not (= v_arrayElimCell_46 v_arrayElimCell_45)))) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1))} assume 0 != #t~nondet9;havoc #t~nondet9; {10174#(and (exists ((v_arrayElimCell_46 Int) (v_arrayElimCell_45 Int)) (and (= (select |#valid| v_arrayElimCell_45) 1) (= (select |#valid| v_arrayElimCell_46) 1) (not (= _destroy_in_nondeterministic_order_~succ~0.base v_arrayElimCell_45)) (not (= v_arrayElimCell_46 v_arrayElimCell_45)))) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1))} is VALID [2021-09-13 23:55:57,286 INFO L281 TraceCheckUtils]: 37: Hoare triple {10174#(and (exists ((v_arrayElimCell_46 Int) (v_arrayElimCell_45 Int)) (and (= (select |#valid| v_arrayElimCell_45) 1) (= (select |#valid| v_arrayElimCell_46) 1) (not (= _destroy_in_nondeterministic_order_~succ~0.base v_arrayElimCell_45)) (not (= v_arrayElimCell_46 v_arrayElimCell_45)))) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1))} assume 0 == ~succ~0.offset; {10174#(and (exists ((v_arrayElimCell_46 Int) (v_arrayElimCell_45 Int)) (and (= (select |#valid| v_arrayElimCell_45) 1) (= (select |#valid| v_arrayElimCell_46) 1) (not (= _destroy_in_nondeterministic_order_~succ~0.base v_arrayElimCell_45)) (not (= v_arrayElimCell_46 v_arrayElimCell_45)))) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1))} is VALID [2021-09-13 23:55:57,286 INFO L281 TraceCheckUtils]: 38: Hoare triple {10174#(and (exists ((v_arrayElimCell_46 Int) (v_arrayElimCell_45 Int)) (and (= (select |#valid| v_arrayElimCell_45) 1) (= (select |#valid| v_arrayElimCell_46) 1) (not (= _destroy_in_nondeterministic_order_~succ~0.base v_arrayElimCell_45)) (not (= v_arrayElimCell_46 v_arrayElimCell_45)))) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1))} assume ~succ~0.base < #StackHeapBarrier; {10174#(and (exists ((v_arrayElimCell_46 Int) (v_arrayElimCell_45 Int)) (and (= (select |#valid| v_arrayElimCell_45) 1) (= (select |#valid| v_arrayElimCell_46) 1) (not (= _destroy_in_nondeterministic_order_~succ~0.base v_arrayElimCell_45)) (not (= v_arrayElimCell_46 v_arrayElimCell_45)))) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1))} is VALID [2021-09-13 23:55:57,286 INFO L281 TraceCheckUtils]: 39: Hoare triple {10174#(and (exists ((v_arrayElimCell_46 Int) (v_arrayElimCell_45 Int)) (and (= (select |#valid| v_arrayElimCell_45) 1) (= (select |#valid| v_arrayElimCell_46) 1) (not (= _destroy_in_nondeterministic_order_~succ~0.base v_arrayElimCell_45)) (not (= v_arrayElimCell_46 v_arrayElimCell_45)))) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1))} assume !(0 == ~succ~0.base || 1 == #valid[~succ~0.base]); {10014#false} is VALID [2021-09-13 23:55:57,287 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 2 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:55:57,287 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 23:55:58,202 INFO L354 Elim1Store]: treesize reduction 93, result has 22.5 percent of original size [2021-09-13 23:55:58,203 INFO L388 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 3 case distinctions, treesize of input 74 treesize of output 41 [2021-09-13 23:55:58,228 INFO L354 Elim1Store]: treesize reduction 8, result has 68.0 percent of original size [2021-09-13 23:55:58,228 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 41 treesize of output 49 [2021-09-13 23:55:58,270 INFO L388 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 8 treesize of output 4 [2021-09-13 23:55:58,297 INFO L388 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 6 treesize of output 4 [2021-09-13 23:55:58,305 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_DEPENDING: Alternating quantifiers not yet supported [2021-09-13 23:55:58,305 INFO L186 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2021-09-13 23:55:58,305 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19] total 19 [2021-09-13 23:55:58,305 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [729627551] [2021-09-13 23:55:58,306 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 16 states have internal predecessors, (34), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 40 [2021-09-13 23:55:58,306 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:55:58,306 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 20 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 16 states have internal predecessors, (34), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:55:58,337 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:55:58,337 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2021-09-13 23:55:58,337 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 23:55:58,337 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2021-09-13 23:55:58,337 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=108, Invalid=1152, Unknown=0, NotChecked=0, Total=1260 [2021-09-13 23:55:58,338 INFO L87 Difference]: Start difference. First operand 100 states and 105 transitions. Second operand has 20 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 16 states have internal predecessors, (34), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:56:00,845 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:56:00,845 INFO L93 Difference]: Finished difference Result 103 states and 108 transitions. [2021-09-13 23:56:00,845 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2021-09-13 23:56:00,846 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 16 states have internal predecessors, (34), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 40 [2021-09-13 23:56:00,846 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:56:00,846 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 16 states have internal predecessors, (34), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:56:00,847 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 109 transitions. [2021-09-13 23:56:00,847 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 16 states have internal predecessors, (34), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:56:00,848 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 109 transitions. [2021-09-13 23:56:00,848 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 109 transitions. [2021-09-13 23:56:00,927 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:56:00,928 INFO L225 Difference]: With dead ends: 103 [2021-09-13 23:56:00,928 INFO L226 Difference]: Without dead ends: 103 [2021-09-13 23:56:00,929 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 48 SyntacticMatches, 3 SemanticMatches, 45 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 388 ImplicationChecksByTransitivity, 1239.42ms TimeCoverageRelationStatistics Valid=210, Invalid=1952, Unknown=0, NotChecked=0, Total=2162 [2021-09-13 23:56:00,929 INFO L928 BasicCegarLoop]: 7 mSDtfsCounter, 90 mSDsluCounter, 660 mSDsCounter, 0 mSdLazyCounter, 1704 mSolverCounterSat, 37 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1107.78ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 90 SdHoareTripleChecker+Valid, 68 SdHoareTripleChecker+Invalid, 1741 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 3.97ms SdHoareTripleChecker+Time, 37 IncrementalHoareTripleChecker+Valid, 1704 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1116.14ms IncrementalHoareTripleChecker+Time [2021-09-13 23:56:00,930 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [90 Valid, 68 Invalid, 1741 Unknown, 0 Unchecked, 3.97ms Time], IncrementalHoareTripleChecker [37 Valid, 1704 Invalid, 0 Unknown, 0 Unchecked, 1116.14ms Time] [2021-09-13 23:56:00,930 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2021-09-13 23:56:00,932 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 99. [2021-09-13 23:56:00,932 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:56:00,932 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand has 99 states, 79 states have (on average 1.2278481012658229) internal successors, (97), 91 states have internal predecessors, (97), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:56:00,932 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand has 99 states, 79 states have (on average 1.2278481012658229) internal successors, (97), 91 states have internal predecessors, (97), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:56:00,932 INFO L87 Difference]: Start difference. First operand 103 states. Second operand has 99 states, 79 states have (on average 1.2278481012658229) internal successors, (97), 91 states have internal predecessors, (97), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:56:00,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:56:00,933 INFO L93 Difference]: Finished difference Result 103 states and 108 transitions. [2021-09-13 23:56:00,933 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 108 transitions. [2021-09-13 23:56:00,933 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:56:00,933 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:56:00,934 INFO L74 IsIncluded]: Start isIncluded. First operand has 99 states, 79 states have (on average 1.2278481012658229) internal successors, (97), 91 states have internal predecessors, (97), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 103 states. [2021-09-13 23:56:00,934 INFO L87 Difference]: Start difference. First operand has 99 states, 79 states have (on average 1.2278481012658229) internal successors, (97), 91 states have internal predecessors, (97), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 103 states. [2021-09-13 23:56:00,935 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:56:00,935 INFO L93 Difference]: Finished difference Result 103 states and 108 transitions. [2021-09-13 23:56:00,935 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 108 transitions. [2021-09-13 23:56:00,935 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:56:00,935 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:56:00,935 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:56:00,935 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:56:00,935 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 99 states, 79 states have (on average 1.2278481012658229) internal successors, (97), 91 states have internal predecessors, (97), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:56:00,936 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 104 transitions. [2021-09-13 23:56:00,936 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 104 transitions. Word has length 40 [2021-09-13 23:56:00,936 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:56:00,936 INFO L470 AbstractCegarLoop]: Abstraction has 99 states and 104 transitions. [2021-09-13 23:56:00,936 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 16 states have internal predecessors, (34), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:56:00,936 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 104 transitions. [2021-09-13 23:56:00,936 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2021-09-13 23:56:00,937 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:56:00,937 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1] [2021-09-13 23:56:00,966 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2021-09-13 23:56:01,137 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,SelfDestructingSolverStorable17 [2021-09-13 23:56:01,138 INFO L402 AbstractCegarLoop]: === Iteration 19 === Targeting _destroy_in_nondeterministic_orderErr36ASSERT_VIOLATIONMEMORY_FREE === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:56:01,138 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:56:01,138 INFO L82 PathProgramCache]: Analyzing trace with hash 245281334, now seen corresponding path program 1 times [2021-09-13 23:56:01,138 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 23:56:01,138 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1441821835] [2021-09-13 23:56:01,138 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:56:01,138 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 23:56:01,150 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:56:01,255 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2021-09-13 23:56:01,256 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:56:01,258 INFO L281 TraceCheckUtils]: 0: Hoare triple {10722#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {10690#true} is VALID [2021-09-13 23:56:01,258 INFO L281 TraceCheckUtils]: 1: Hoare triple {10690#true} assume true; {10690#true} is VALID [2021-09-13 23:56:01,258 INFO L276 TraceCheckUtils]: 2: Hoare quadruple {10690#true} {10690#true} #201#return; {10690#true} is VALID [2021-09-13 23:56:01,271 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2021-09-13 23:56:01,277 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:56:01,372 INFO L281 TraceCheckUtils]: 0: Hoare triple {10723#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {10690#true} is VALID [2021-09-13 23:56:01,372 INFO L281 TraceCheckUtils]: 1: Hoare triple {10690#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {10690#true} is VALID [2021-09-13 23:56:01,372 INFO L281 TraceCheckUtils]: 2: Hoare triple {10690#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {10690#true} is VALID [2021-09-13 23:56:01,372 INFO L281 TraceCheckUtils]: 3: Hoare triple {10690#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {10690#true} is VALID [2021-09-13 23:56:01,372 INFO L281 TraceCheckUtils]: 4: Hoare triple {10690#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {10690#true} is VALID [2021-09-13 23:56:01,372 INFO L281 TraceCheckUtils]: 5: Hoare triple {10690#true} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {10690#true} is VALID [2021-09-13 23:56:01,373 INFO L281 TraceCheckUtils]: 6: Hoare triple {10690#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {10690#true} is VALID [2021-09-13 23:56:01,373 INFO L281 TraceCheckUtils]: 7: Hoare triple {10690#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {10690#true} is VALID [2021-09-13 23:56:01,373 INFO L281 TraceCheckUtils]: 8: Hoare triple {10690#true} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {10690#true} is VALID [2021-09-13 23:56:01,373 INFO L281 TraceCheckUtils]: 9: Hoare triple {10690#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {10690#true} is VALID [2021-09-13 23:56:01,373 INFO L281 TraceCheckUtils]: 10: Hoare triple {10690#true} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {10724#(= dll_circular_create_~new_head~0.offset 0)} is VALID [2021-09-13 23:56:01,374 INFO L281 TraceCheckUtils]: 11: Hoare triple {10724#(= dll_circular_create_~new_head~0.offset 0)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {10724#(= dll_circular_create_~new_head~0.offset 0)} is VALID [2021-09-13 23:56:01,374 INFO L281 TraceCheckUtils]: 12: Hoare triple {10724#(= dll_circular_create_~new_head~0.offset 0)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {10724#(= dll_circular_create_~new_head~0.offset 0)} is VALID [2021-09-13 23:56:01,374 INFO L281 TraceCheckUtils]: 13: Hoare triple {10724#(= dll_circular_create_~new_head~0.offset 0)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {10724#(= dll_circular_create_~new_head~0.offset 0)} is VALID [2021-09-13 23:56:01,375 INFO L281 TraceCheckUtils]: 14: Hoare triple {10724#(= dll_circular_create_~new_head~0.offset 0)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {10725#(= dll_circular_create_~head~0.offset 0)} is VALID [2021-09-13 23:56:01,375 INFO L281 TraceCheckUtils]: 15: Hoare triple {10725#(= dll_circular_create_~head~0.offset 0)} assume !(~len > 1); {10725#(= dll_circular_create_~head~0.offset 0)} is VALID [2021-09-13 23:56:01,376 INFO L281 TraceCheckUtils]: 16: Hoare triple {10725#(= dll_circular_create_~head~0.offset 0)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {10726#(and (= dll_circular_create_~head~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:56:01,376 INFO L281 TraceCheckUtils]: 17: Hoare triple {10726#(and (= dll_circular_create_~head~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {10727#(and (= dll_circular_create_~head~0.offset 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4)) 1))} is VALID [2021-09-13 23:56:01,377 INFO L281 TraceCheckUtils]: 18: Hoare triple {10727#(and (= dll_circular_create_~head~0.offset 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4)) 1))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {10728#(and (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:56:01,377 INFO L281 TraceCheckUtils]: 19: Hoare triple {10728#(and (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} assume true; {10728#(and (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:56:01,378 INFO L276 TraceCheckUtils]: 20: Hoare quadruple {10728#(and (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} {10690#true} #197#return; {10716#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4)) 1) (= |main_#t~ret12.offset| 0))} is VALID [2021-09-13 23:56:01,378 INFO L264 TraceCheckUtils]: 0: Hoare triple {10690#true} call ULTIMATE.init(); {10722#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2021-09-13 23:56:01,379 INFO L281 TraceCheckUtils]: 1: Hoare triple {10722#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {10690#true} is VALID [2021-09-13 23:56:01,379 INFO L281 TraceCheckUtils]: 2: Hoare triple {10690#true} assume true; {10690#true} is VALID [2021-09-13 23:56:01,379 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {10690#true} {10690#true} #201#return; {10690#true} is VALID [2021-09-13 23:56:01,379 INFO L264 TraceCheckUtils]: 4: Hoare triple {10690#true} call #t~ret13 := main(); {10690#true} is VALID [2021-09-13 23:56:01,379 INFO L281 TraceCheckUtils]: 5: Hoare triple {10690#true} ~len~0 := 3; {10690#true} is VALID [2021-09-13 23:56:01,380 INFO L264 TraceCheckUtils]: 6: Hoare triple {10690#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {10723#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2021-09-13 23:56:01,380 INFO L281 TraceCheckUtils]: 7: Hoare triple {10723#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {10690#true} is VALID [2021-09-13 23:56:01,380 INFO L281 TraceCheckUtils]: 8: Hoare triple {10690#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {10690#true} is VALID [2021-09-13 23:56:01,380 INFO L281 TraceCheckUtils]: 9: Hoare triple {10690#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {10690#true} is VALID [2021-09-13 23:56:01,380 INFO L281 TraceCheckUtils]: 10: Hoare triple {10690#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {10690#true} is VALID [2021-09-13 23:56:01,380 INFO L281 TraceCheckUtils]: 11: Hoare triple {10690#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {10690#true} is VALID [2021-09-13 23:56:01,380 INFO L281 TraceCheckUtils]: 12: Hoare triple {10690#true} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {10690#true} is VALID [2021-09-13 23:56:01,381 INFO L281 TraceCheckUtils]: 13: Hoare triple {10690#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {10690#true} is VALID [2021-09-13 23:56:01,381 INFO L281 TraceCheckUtils]: 14: Hoare triple {10690#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {10690#true} is VALID [2021-09-13 23:56:01,381 INFO L281 TraceCheckUtils]: 15: Hoare triple {10690#true} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {10690#true} is VALID [2021-09-13 23:56:01,381 INFO L281 TraceCheckUtils]: 16: Hoare triple {10690#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {10690#true} is VALID [2021-09-13 23:56:01,381 INFO L281 TraceCheckUtils]: 17: Hoare triple {10690#true} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {10724#(= dll_circular_create_~new_head~0.offset 0)} is VALID [2021-09-13 23:56:01,382 INFO L281 TraceCheckUtils]: 18: Hoare triple {10724#(= dll_circular_create_~new_head~0.offset 0)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {10724#(= dll_circular_create_~new_head~0.offset 0)} is VALID [2021-09-13 23:56:01,382 INFO L281 TraceCheckUtils]: 19: Hoare triple {10724#(= dll_circular_create_~new_head~0.offset 0)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {10724#(= dll_circular_create_~new_head~0.offset 0)} is VALID [2021-09-13 23:56:01,382 INFO L281 TraceCheckUtils]: 20: Hoare triple {10724#(= dll_circular_create_~new_head~0.offset 0)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {10724#(= dll_circular_create_~new_head~0.offset 0)} is VALID [2021-09-13 23:56:01,383 INFO L281 TraceCheckUtils]: 21: Hoare triple {10724#(= dll_circular_create_~new_head~0.offset 0)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {10725#(= dll_circular_create_~head~0.offset 0)} is VALID [2021-09-13 23:56:01,383 INFO L281 TraceCheckUtils]: 22: Hoare triple {10725#(= dll_circular_create_~head~0.offset 0)} assume !(~len > 1); {10725#(= dll_circular_create_~head~0.offset 0)} is VALID [2021-09-13 23:56:01,383 INFO L281 TraceCheckUtils]: 23: Hoare triple {10725#(= dll_circular_create_~head~0.offset 0)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {10726#(and (= dll_circular_create_~head~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:56:01,384 INFO L281 TraceCheckUtils]: 24: Hoare triple {10726#(and (= dll_circular_create_~head~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {10727#(and (= dll_circular_create_~head~0.offset 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4)) 1))} is VALID [2021-09-13 23:56:01,385 INFO L281 TraceCheckUtils]: 25: Hoare triple {10727#(and (= dll_circular_create_~head~0.offset 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4)) 1))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {10728#(and (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:56:01,385 INFO L281 TraceCheckUtils]: 26: Hoare triple {10728#(and (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} assume true; {10728#(and (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:56:01,386 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {10728#(and (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} {10690#true} #197#return; {10716#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4)) 1) (= |main_#t~ret12.offset| 0))} is VALID [2021-09-13 23:56:01,386 INFO L281 TraceCheckUtils]: 28: Hoare triple {10716#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4)) 1) (= |main_#t~ret12.offset| 0))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {10717#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)) 1) (= 0 main_~head~1.offset))} is VALID [2021-09-13 23:56:01,387 INFO L264 TraceCheckUtils]: 29: Hoare triple {10717#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)) 1) (= 0 main_~head~1.offset))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {10718#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)) 1) (= |_destroy_in_nondeterministic_order_#in~head.offset| 0))} is VALID [2021-09-13 23:56:01,388 INFO L281 TraceCheckUtils]: 30: Hoare triple {10718#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)) 1) (= |_destroy_in_nondeterministic_order_#in~head.offset| 0))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {10719#(= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4))) 1)} is VALID [2021-09-13 23:56:01,388 INFO L281 TraceCheckUtils]: 31: Hoare triple {10719#(= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4))) 1)} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, 4 + ~head.offset, 4); srcloc: L586 {10720#(= (select |#valid| |_destroy_in_nondeterministic_order_#t~mem5.base|) 1)} is VALID [2021-09-13 23:56:01,389 INFO L281 TraceCheckUtils]: 32: Hoare triple {10720#(= (select |#valid| |_destroy_in_nondeterministic_order_#t~mem5.base|) 1)} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {10721#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:01,389 INFO L281 TraceCheckUtils]: 33: Hoare triple {10721#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4); srcloc: L587 {10721#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:01,389 INFO L281 TraceCheckUtils]: 34: Hoare triple {10721#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647; {10721#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:01,390 INFO L281 TraceCheckUtils]: 35: Hoare triple {10721#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume !(0 != #t~nondet7);havoc #t~nondet7;assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {10721#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:01,390 INFO L281 TraceCheckUtils]: 36: Hoare triple {10721#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume !(0 != #t~nondet9);havoc #t~nondet9; {10721#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:01,390 INFO L281 TraceCheckUtils]: 37: Hoare triple {10721#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume 0 == ~pred~0.offset; {10721#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:01,391 INFO L281 TraceCheckUtils]: 38: Hoare triple {10721#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume ~pred~0.base < #StackHeapBarrier; {10721#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:01,391 INFO L281 TraceCheckUtils]: 39: Hoare triple {10721#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume !(0 == ~pred~0.base || 1 == #valid[~pred~0.base]); {10691#false} is VALID [2021-09-13 23:56:01,391 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2021-09-13 23:56:01,392 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 23:56:01,392 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1441821835] [2021-09-13 23:56:01,392 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1441821835] provided 1 perfect and 0 imperfect interpolant sequences [2021-09-13 23:56:01,392 INFO L186 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2021-09-13 23:56:01,392 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2021-09-13 23:56:01,393 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1805050191] [2021-09-13 23:56:01,394 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 11 states have internal predecessors, (34), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 40 [2021-09-13 23:56:01,394 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:56:01,394 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 15 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 11 states have internal predecessors, (34), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:56:01,424 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:56:01,424 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2021-09-13 23:56:01,425 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 23:56:01,425 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2021-09-13 23:56:01,425 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=181, Unknown=0, NotChecked=0, Total=210 [2021-09-13 23:56:01,425 INFO L87 Difference]: Start difference. First operand 99 states and 104 transitions. Second operand has 15 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 11 states have internal predecessors, (34), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:56:02,763 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:56:02,763 INFO L93 Difference]: Finished difference Result 98 states and 103 transitions. [2021-09-13 23:56:02,764 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2021-09-13 23:56:02,764 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 11 states have internal predecessors, (34), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 40 [2021-09-13 23:56:02,764 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:56:02,764 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 11 states have internal predecessors, (34), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:56:02,766 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 103 transitions. [2021-09-13 23:56:02,766 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 11 states have internal predecessors, (34), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:56:02,768 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 103 transitions. [2021-09-13 23:56:02,768 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 103 transitions. [2021-09-13 23:56:02,826 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:56:02,827 INFO L225 Difference]: With dead ends: 98 [2021-09-13 23:56:02,827 INFO L226 Difference]: Without dead ends: 98 [2021-09-13 23:56:02,828 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 33 ImplicationChecksByTransitivity, 270.35ms TimeCoverageRelationStatistics Valid=95, Invalid=457, Unknown=0, NotChecked=0, Total=552 [2021-09-13 23:56:02,828 INFO L928 BasicCegarLoop]: 7 mSDtfsCounter, 82 mSDsluCounter, 457 mSDsCounter, 0 mSdLazyCounter, 1077 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 599.04ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 82 SdHoareTripleChecker+Valid, 47 SdHoareTripleChecker+Invalid, 1087 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 3.35ms SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 1077 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 602.70ms IncrementalHoareTripleChecker+Time [2021-09-13 23:56:02,828 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [82 Valid, 47 Invalid, 1087 Unknown, 0 Unchecked, 3.35ms Time], IncrementalHoareTripleChecker [10 Valid, 1077 Invalid, 0 Unknown, 0 Unchecked, 602.70ms Time] [2021-09-13 23:56:02,829 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2021-09-13 23:56:02,845 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 98. [2021-09-13 23:56:02,846 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:56:02,846 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand has 98 states, 79 states have (on average 1.2151898734177216) internal successors, (96), 90 states have internal predecessors, (96), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:56:02,846 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand has 98 states, 79 states have (on average 1.2151898734177216) internal successors, (96), 90 states have internal predecessors, (96), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:56:02,846 INFO L87 Difference]: Start difference. First operand 98 states. Second operand has 98 states, 79 states have (on average 1.2151898734177216) internal successors, (96), 90 states have internal predecessors, (96), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:56:02,861 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:56:02,861 INFO L93 Difference]: Finished difference Result 98 states and 103 transitions. [2021-09-13 23:56:02,861 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 103 transitions. [2021-09-13 23:56:02,861 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:56:02,861 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:56:02,862 INFO L74 IsIncluded]: Start isIncluded. First operand has 98 states, 79 states have (on average 1.2151898734177216) internal successors, (96), 90 states have internal predecessors, (96), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 98 states. [2021-09-13 23:56:02,862 INFO L87 Difference]: Start difference. First operand has 98 states, 79 states have (on average 1.2151898734177216) internal successors, (96), 90 states have internal predecessors, (96), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 98 states. [2021-09-13 23:56:02,863 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:56:02,863 INFO L93 Difference]: Finished difference Result 98 states and 103 transitions. [2021-09-13 23:56:02,863 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 103 transitions. [2021-09-13 23:56:02,863 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:56:02,863 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:56:02,864 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:56:02,864 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:56:02,865 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 98 states, 79 states have (on average 1.2151898734177216) internal successors, (96), 90 states have internal predecessors, (96), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:56:02,866 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 103 transitions. [2021-09-13 23:56:02,866 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 103 transitions. Word has length 40 [2021-09-13 23:56:02,866 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:56:02,866 INFO L470 AbstractCegarLoop]: Abstraction has 98 states and 103 transitions. [2021-09-13 23:56:02,866 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 11 states have internal predecessors, (34), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:56:02,866 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 103 transitions. [2021-09-13 23:56:02,867 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2021-09-13 23:56:02,867 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:56:02,867 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 23:56:02,867 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18 [2021-09-13 23:56:02,867 INFO L402 AbstractCegarLoop]: === Iteration 20 === Targeting _destroy_in_nondeterministic_orderErr15ASSERT_VIOLATIONMEMORY_FREE === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:56:02,868 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:56:02,868 INFO L82 PathProgramCache]: Analyzing trace with hash 2033890821, now seen corresponding path program 1 times [2021-09-13 23:56:02,868 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 23:56:02,868 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [368530297] [2021-09-13 23:56:02,868 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:56:02,869 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 23:56:02,904 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:56:03,130 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2021-09-13 23:56:03,130 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:56:03,133 INFO L281 TraceCheckUtils]: 0: Hoare triple {11177#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {11143#true} is VALID [2021-09-13 23:56:03,133 INFO L281 TraceCheckUtils]: 1: Hoare triple {11143#true} assume true; {11143#true} is VALID [2021-09-13 23:56:03,133 INFO L276 TraceCheckUtils]: 2: Hoare quadruple {11143#true} {11143#true} #201#return; {11143#true} is VALID [2021-09-13 23:56:03,146 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2021-09-13 23:56:03,153 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:56:03,302 INFO L281 TraceCheckUtils]: 0: Hoare triple {11178#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {11143#true} is VALID [2021-09-13 23:56:03,303 INFO L281 TraceCheckUtils]: 1: Hoare triple {11143#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {11143#true} is VALID [2021-09-13 23:56:03,303 INFO L281 TraceCheckUtils]: 2: Hoare triple {11143#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {11143#true} is VALID [2021-09-13 23:56:03,303 INFO L281 TraceCheckUtils]: 3: Hoare triple {11143#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {11143#true} is VALID [2021-09-13 23:56:03,303 INFO L281 TraceCheckUtils]: 4: Hoare triple {11143#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {11179#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:56:03,303 INFO L281 TraceCheckUtils]: 5: Hoare triple {11179#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {11179#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:56:03,304 INFO L281 TraceCheckUtils]: 6: Hoare triple {11179#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {11179#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:56:03,304 INFO L281 TraceCheckUtils]: 7: Hoare triple {11179#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {11179#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:56:03,305 INFO L281 TraceCheckUtils]: 8: Hoare triple {11179#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {11180#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:56:03,305 INFO L281 TraceCheckUtils]: 9: Hoare triple {11180#(= (select |#valid| dll_circular_create_~last~0.base) 1)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {11180#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:56:03,305 INFO L281 TraceCheckUtils]: 10: Hoare triple {11180#(= (select |#valid| dll_circular_create_~last~0.base) 1)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {11181#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:56:03,306 INFO L281 TraceCheckUtils]: 11: Hoare triple {11181#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {11181#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:56:03,306 INFO L281 TraceCheckUtils]: 12: Hoare triple {11181#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {11181#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:56:03,307 INFO L281 TraceCheckUtils]: 13: Hoare triple {11181#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {11181#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:56:03,307 INFO L281 TraceCheckUtils]: 14: Hoare triple {11181#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {11182#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:56:03,308 INFO L281 TraceCheckUtils]: 15: Hoare triple {11182#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} assume !(~len > 1); {11182#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:56:03,308 INFO L281 TraceCheckUtils]: 16: Hoare triple {11182#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {11183#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:56:03,309 INFO L281 TraceCheckUtils]: 17: Hoare triple {11183#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {11184#(and (= dll_circular_create_~head~0.offset 0) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4)))) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4)) 1))} is VALID [2021-09-13 23:56:03,309 INFO L281 TraceCheckUtils]: 18: Hoare triple {11184#(and (= dll_circular_create_~head~0.offset 0) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4)))) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4)) 1))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {11185#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:56:03,310 INFO L281 TraceCheckUtils]: 19: Hoare triple {11185#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} assume true; {11185#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:56:03,311 INFO L276 TraceCheckUtils]: 20: Hoare quadruple {11185#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} {11143#true} #197#return; {11169#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4)) 1) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|)) (= |main_#t~ret12.offset| 0))} is VALID [2021-09-13 23:56:03,312 INFO L264 TraceCheckUtils]: 0: Hoare triple {11143#true} call ULTIMATE.init(); {11177#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2021-09-13 23:56:03,312 INFO L281 TraceCheckUtils]: 1: Hoare triple {11177#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {11143#true} is VALID [2021-09-13 23:56:03,312 INFO L281 TraceCheckUtils]: 2: Hoare triple {11143#true} assume true; {11143#true} is VALID [2021-09-13 23:56:03,312 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {11143#true} {11143#true} #201#return; {11143#true} is VALID [2021-09-13 23:56:03,312 INFO L264 TraceCheckUtils]: 4: Hoare triple {11143#true} call #t~ret13 := main(); {11143#true} is VALID [2021-09-13 23:56:03,312 INFO L281 TraceCheckUtils]: 5: Hoare triple {11143#true} ~len~0 := 3; {11143#true} is VALID [2021-09-13 23:56:03,312 INFO L264 TraceCheckUtils]: 6: Hoare triple {11143#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {11178#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2021-09-13 23:56:03,313 INFO L281 TraceCheckUtils]: 7: Hoare triple {11178#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {11143#true} is VALID [2021-09-13 23:56:03,313 INFO L281 TraceCheckUtils]: 8: Hoare triple {11143#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {11143#true} is VALID [2021-09-13 23:56:03,313 INFO L281 TraceCheckUtils]: 9: Hoare triple {11143#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {11143#true} is VALID [2021-09-13 23:56:03,313 INFO L281 TraceCheckUtils]: 10: Hoare triple {11143#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {11143#true} is VALID [2021-09-13 23:56:03,314 INFO L281 TraceCheckUtils]: 11: Hoare triple {11143#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {11179#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:56:03,314 INFO L281 TraceCheckUtils]: 12: Hoare triple {11179#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {11179#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:56:03,314 INFO L281 TraceCheckUtils]: 13: Hoare triple {11179#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {11179#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:56:03,315 INFO L281 TraceCheckUtils]: 14: Hoare triple {11179#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {11179#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:56:03,315 INFO L281 TraceCheckUtils]: 15: Hoare triple {11179#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {11180#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:56:03,315 INFO L281 TraceCheckUtils]: 16: Hoare triple {11180#(= (select |#valid| dll_circular_create_~last~0.base) 1)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {11180#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:56:03,316 INFO L281 TraceCheckUtils]: 17: Hoare triple {11180#(= (select |#valid| dll_circular_create_~last~0.base) 1)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {11181#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:56:03,316 INFO L281 TraceCheckUtils]: 18: Hoare triple {11181#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {11181#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:56:03,317 INFO L281 TraceCheckUtils]: 19: Hoare triple {11181#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {11181#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:56:03,317 INFO L281 TraceCheckUtils]: 20: Hoare triple {11181#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {11181#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:56:03,318 INFO L281 TraceCheckUtils]: 21: Hoare triple {11181#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {11182#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:56:03,318 INFO L281 TraceCheckUtils]: 22: Hoare triple {11182#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} assume !(~len > 1); {11182#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:56:03,319 INFO L281 TraceCheckUtils]: 23: Hoare triple {11182#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {11183#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:56:03,319 INFO L281 TraceCheckUtils]: 24: Hoare triple {11183#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {11184#(and (= dll_circular_create_~head~0.offset 0) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4)))) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4)) 1))} is VALID [2021-09-13 23:56:03,320 INFO L281 TraceCheckUtils]: 25: Hoare triple {11184#(and (= dll_circular_create_~head~0.offset 0) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4)))) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4)) 1))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {11185#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:56:03,320 INFO L281 TraceCheckUtils]: 26: Hoare triple {11185#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} assume true; {11185#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:56:03,321 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {11185#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} {11143#true} #197#return; {11169#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4)) 1) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|)) (= |main_#t~ret12.offset| 0))} is VALID [2021-09-13 23:56:03,328 INFO L281 TraceCheckUtils]: 28: Hoare triple {11169#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4)) 1) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|)) (= |main_#t~ret12.offset| 0))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {11170#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)) 1) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))) (= 0 main_~head~1.offset))} is VALID [2021-09-13 23:56:03,329 INFO L264 TraceCheckUtils]: 29: Hoare triple {11170#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)) 1) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))) (= 0 main_~head~1.offset))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {11171#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)) 1) (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))) (= |_destroy_in_nondeterministic_order_#in~head.offset| 0))} is VALID [2021-09-13 23:56:03,329 INFO L281 TraceCheckUtils]: 30: Hoare triple {11171#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)) 1) (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))) (= |_destroy_in_nondeterministic_order_#in~head.offset| 0))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {11172#(and (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4))) 1) (= _destroy_in_nondeterministic_order_~head.offset 0))} is VALID [2021-09-13 23:56:03,330 INFO L281 TraceCheckUtils]: 31: Hoare triple {11172#(and (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4))) 1) (= _destroy_in_nondeterministic_order_~head.offset 0))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, 4 + ~head.offset, 4); srcloc: L586 {11173#(and (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) |_destroy_in_nondeterministic_order_#t~mem5.base|) 1) (= _destroy_in_nondeterministic_order_~head.offset 0))} is VALID [2021-09-13 23:56:03,330 INFO L281 TraceCheckUtils]: 32: Hoare triple {11173#(and (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) |_destroy_in_nondeterministic_order_#t~mem5.base|) 1) (= _destroy_in_nondeterministic_order_~head.offset 0))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {11174#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1))} is VALID [2021-09-13 23:56:03,331 INFO L281 TraceCheckUtils]: 33: Hoare triple {11174#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4); srcloc: L587 {11174#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1))} is VALID [2021-09-13 23:56:03,331 INFO L281 TraceCheckUtils]: 34: Hoare triple {11174#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647; {11174#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1))} is VALID [2021-09-13 23:56:03,332 INFO L281 TraceCheckUtils]: 35: Hoare triple {11174#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1))} assume 0 != #t~nondet7;havoc #t~nondet7; {11174#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1))} is VALID [2021-09-13 23:56:03,332 INFO L281 TraceCheckUtils]: 36: Hoare triple {11174#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1))} assume 0 == ~head.offset; {11175#(= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:03,332 INFO L281 TraceCheckUtils]: 37: Hoare triple {11175#(= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume ~head.base < #StackHeapBarrier; {11175#(= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:03,333 INFO L281 TraceCheckUtils]: 38: Hoare triple {11175#(= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume 0 == ~head.base || 1 == #valid[~head.base];call ULTIMATE.dealloc(~head.base, ~head.offset);assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {11176#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:03,333 INFO L281 TraceCheckUtils]: 39: Hoare triple {11176#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume !(0 != #t~nondet8);havoc #t~nondet8; {11176#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:03,334 INFO L281 TraceCheckUtils]: 40: Hoare triple {11176#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume 0 == ~pred~0.offset; {11176#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:03,334 INFO L281 TraceCheckUtils]: 41: Hoare triple {11176#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume ~pred~0.base < #StackHeapBarrier; {11176#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:03,334 INFO L281 TraceCheckUtils]: 42: Hoare triple {11176#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume !(0 == ~pred~0.base || 1 == #valid[~pred~0.base]); {11144#false} is VALID [2021-09-13 23:56:03,334 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:56:03,335 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 23:56:03,335 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [368530297] [2021-09-13 23:56:03,335 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [368530297] provided 0 perfect and 1 imperfect interpolant sequences [2021-09-13 23:56:03,335 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [687644954] [2021-09-13 23:56:03,335 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:56:03,335 INFO L170 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 23:56:03,335 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-09-13 23:56:03,336 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2021-09-13 23:56:03,337 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2021-09-13 23:56:03,420 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:56:03,421 INFO L263 TraceCheckSpWp]: Trace formula consists of 202 conjuncts, 35 conjunts are in the unsatisfiable core [2021-09-13 23:56:03,436 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:56:03,437 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 23:56:03,521 INFO L354 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2021-09-13 23:56:03,522 INFO L388 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 [2021-09-13 23:56:03,636 INFO L388 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 17 [2021-09-13 23:56:03,846 INFO L354 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2021-09-13 23:56:03,846 INFO L388 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 2 new quantified variables, introduced 1 case distinctions, treesize of input 27 treesize of output 23 [2021-09-13 23:56:04,393 INFO L354 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2021-09-13 23:56:04,394 INFO L388 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 16 treesize of output 18 [2021-09-13 23:56:04,505 INFO L264 TraceCheckUtils]: 0: Hoare triple {11143#true} call ULTIMATE.init(); {11143#true} is VALID [2021-09-13 23:56:04,506 INFO L281 TraceCheckUtils]: 1: Hoare triple {11143#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {11143#true} is VALID [2021-09-13 23:56:04,506 INFO L281 TraceCheckUtils]: 2: Hoare triple {11143#true} assume true; {11143#true} is VALID [2021-09-13 23:56:04,506 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {11143#true} {11143#true} #201#return; {11143#true} is VALID [2021-09-13 23:56:04,506 INFO L264 TraceCheckUtils]: 4: Hoare triple {11143#true} call #t~ret13 := main(); {11143#true} is VALID [2021-09-13 23:56:04,506 INFO L281 TraceCheckUtils]: 5: Hoare triple {11143#true} ~len~0 := 3; {11143#true} is VALID [2021-09-13 23:56:04,506 INFO L264 TraceCheckUtils]: 6: Hoare triple {11143#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {11143#true} is VALID [2021-09-13 23:56:04,507 INFO L281 TraceCheckUtils]: 7: Hoare triple {11143#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {11143#true} is VALID [2021-09-13 23:56:04,507 INFO L281 TraceCheckUtils]: 8: Hoare triple {11143#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {11143#true} is VALID [2021-09-13 23:56:04,507 INFO L281 TraceCheckUtils]: 9: Hoare triple {11143#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {11143#true} is VALID [2021-09-13 23:56:04,507 INFO L281 TraceCheckUtils]: 10: Hoare triple {11143#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {11143#true} is VALID [2021-09-13 23:56:04,507 INFO L281 TraceCheckUtils]: 11: Hoare triple {11143#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {11179#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:56:04,508 INFO L281 TraceCheckUtils]: 12: Hoare triple {11179#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {11179#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:56:04,508 INFO L281 TraceCheckUtils]: 13: Hoare triple {11179#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {11179#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:56:04,508 INFO L281 TraceCheckUtils]: 14: Hoare triple {11179#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {11179#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:56:04,509 INFO L281 TraceCheckUtils]: 15: Hoare triple {11179#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {11180#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:56:04,509 INFO L281 TraceCheckUtils]: 16: Hoare triple {11180#(= (select |#valid| dll_circular_create_~last~0.base) 1)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {11180#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:56:04,510 INFO L281 TraceCheckUtils]: 17: Hoare triple {11180#(= (select |#valid| dll_circular_create_~last~0.base) 1)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {11181#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:56:04,510 INFO L281 TraceCheckUtils]: 18: Hoare triple {11181#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {11181#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:56:04,511 INFO L281 TraceCheckUtils]: 19: Hoare triple {11181#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {11181#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:56:04,512 INFO L281 TraceCheckUtils]: 20: Hoare triple {11181#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {11181#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:56:04,512 INFO L281 TraceCheckUtils]: 21: Hoare triple {11181#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {11182#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:56:04,513 INFO L281 TraceCheckUtils]: 22: Hoare triple {11182#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} assume !(~len > 1); {11182#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:56:04,513 INFO L281 TraceCheckUtils]: 23: Hoare triple {11182#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {11183#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:56:04,514 INFO L281 TraceCheckUtils]: 24: Hoare triple {11183#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {11261#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4)) 1) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:56:04,514 INFO L281 TraceCheckUtils]: 25: Hoare triple {11261#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4)) 1) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) dll_circular_create_~head~0.base)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {11265#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))))} is VALID [2021-09-13 23:56:04,515 INFO L281 TraceCheckUtils]: 26: Hoare triple {11265#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))))} assume true; {11265#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))))} is VALID [2021-09-13 23:56:04,516 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {11265#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))))} {11143#true} #197#return; {11272#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4)) 1) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|)))} is VALID [2021-09-13 23:56:04,516 INFO L281 TraceCheckUtils]: 28: Hoare triple {11272#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4)) 1) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|)))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {11276#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)) 1) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))))} is VALID [2021-09-13 23:56:04,517 INFO L264 TraceCheckUtils]: 29: Hoare triple {11276#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)) 1) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {11280#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)) 1) (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))))} is VALID [2021-09-13 23:56:04,517 INFO L281 TraceCheckUtils]: 30: Hoare triple {11280#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)) 1) (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {11284#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) 1) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} is VALID [2021-09-13 23:56:04,518 INFO L281 TraceCheckUtils]: 31: Hoare triple {11284#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) 1) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, 4 + ~head.offset, 4); srcloc: L586 {11288#(exists ((v_arrayElimCell_57 Int)) (and (= (select |#valid| v_arrayElimCell_57) 1) (not (= _destroy_in_nondeterministic_order_~head.base v_arrayElimCell_57)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (= |_destroy_in_nondeterministic_order_#t~mem5.base| v_arrayElimCell_57))))} is VALID [2021-09-13 23:56:04,519 INFO L281 TraceCheckUtils]: 32: Hoare triple {11288#(exists ((v_arrayElimCell_57 Int)) (and (= (select |#valid| v_arrayElimCell_57) 1) (not (= _destroy_in_nondeterministic_order_~head.base v_arrayElimCell_57)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (= |_destroy_in_nondeterministic_order_#t~mem5.base| v_arrayElimCell_57))))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {11292#(exists ((v_arrayElimCell_57 Int)) (and (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (= _destroy_in_nondeterministic_order_~pred~0.base v_arrayElimCell_57)) (= (select |#valid| v_arrayElimCell_57) 1) (not (= _destroy_in_nondeterministic_order_~head.base v_arrayElimCell_57))))} is VALID [2021-09-13 23:56:04,520 INFO L281 TraceCheckUtils]: 33: Hoare triple {11292#(exists ((v_arrayElimCell_57 Int)) (and (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (= _destroy_in_nondeterministic_order_~pred~0.base v_arrayElimCell_57)) (= (select |#valid| v_arrayElimCell_57) 1) (not (= _destroy_in_nondeterministic_order_~head.base v_arrayElimCell_57))))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4); srcloc: L587 {11296#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((v_arrayElimCell_57 Int)) (and (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (= _destroy_in_nondeterministic_order_~pred~0.base v_arrayElimCell_57)) (= (select |#valid| v_arrayElimCell_57) 1) (not (= _destroy_in_nondeterministic_order_~head.base v_arrayElimCell_57)))))} is VALID [2021-09-13 23:56:04,520 INFO L281 TraceCheckUtils]: 34: Hoare triple {11296#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((v_arrayElimCell_57 Int)) (and (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (= _destroy_in_nondeterministic_order_~pred~0.base v_arrayElimCell_57)) (= (select |#valid| v_arrayElimCell_57) 1) (not (= _destroy_in_nondeterministic_order_~head.base v_arrayElimCell_57)))))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647; {11296#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((v_arrayElimCell_57 Int)) (and (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (= _destroy_in_nondeterministic_order_~pred~0.base v_arrayElimCell_57)) (= (select |#valid| v_arrayElimCell_57) 1) (not (= _destroy_in_nondeterministic_order_~head.base v_arrayElimCell_57)))))} is VALID [2021-09-13 23:56:04,521 INFO L281 TraceCheckUtils]: 35: Hoare triple {11296#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((v_arrayElimCell_57 Int)) (and (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (= _destroy_in_nondeterministic_order_~pred~0.base v_arrayElimCell_57)) (= (select |#valid| v_arrayElimCell_57) 1) (not (= _destroy_in_nondeterministic_order_~head.base v_arrayElimCell_57)))))} assume 0 != #t~nondet7;havoc #t~nondet7; {11296#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((v_arrayElimCell_57 Int)) (and (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (= _destroy_in_nondeterministic_order_~pred~0.base v_arrayElimCell_57)) (= (select |#valid| v_arrayElimCell_57) 1) (not (= _destroy_in_nondeterministic_order_~head.base v_arrayElimCell_57)))))} is VALID [2021-09-13 23:56:04,521 INFO L281 TraceCheckUtils]: 36: Hoare triple {11296#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((v_arrayElimCell_57 Int)) (and (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (= _destroy_in_nondeterministic_order_~pred~0.base v_arrayElimCell_57)) (= (select |#valid| v_arrayElimCell_57) 1) (not (= _destroy_in_nondeterministic_order_~head.base v_arrayElimCell_57)))))} assume 0 == ~head.offset; {11175#(= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:04,521 INFO L281 TraceCheckUtils]: 37: Hoare triple {11175#(= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume ~head.base < #StackHeapBarrier; {11175#(= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:04,522 INFO L281 TraceCheckUtils]: 38: Hoare triple {11175#(= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume 0 == ~head.base || 1 == #valid[~head.base];call ULTIMATE.dealloc(~head.base, ~head.offset);assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {11312#(and (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1) (exists ((_destroy_in_nondeterministic_order_~head.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0)))} is VALID [2021-09-13 23:56:04,522 INFO L281 TraceCheckUtils]: 39: Hoare triple {11312#(and (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1) (exists ((_destroy_in_nondeterministic_order_~head.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0)))} assume !(0 != #t~nondet8);havoc #t~nondet8; {11312#(and (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1) (exists ((_destroy_in_nondeterministic_order_~head.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0)))} is VALID [2021-09-13 23:56:04,523 INFO L281 TraceCheckUtils]: 40: Hoare triple {11312#(and (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1) (exists ((_destroy_in_nondeterministic_order_~head.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0)))} assume 0 == ~pred~0.offset; {11312#(and (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1) (exists ((_destroy_in_nondeterministic_order_~head.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0)))} is VALID [2021-09-13 23:56:04,523 INFO L281 TraceCheckUtils]: 41: Hoare triple {11312#(and (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1) (exists ((_destroy_in_nondeterministic_order_~head.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0)))} assume ~pred~0.base < #StackHeapBarrier; {11312#(and (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1) (exists ((_destroy_in_nondeterministic_order_~head.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0)))} is VALID [2021-09-13 23:56:04,524 INFO L281 TraceCheckUtils]: 42: Hoare triple {11312#(and (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1) (exists ((_destroy_in_nondeterministic_order_~head.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0)))} assume !(0 == ~pred~0.base || 1 == #valid[~pred~0.base]); {11144#false} is VALID [2021-09-13 23:56:04,524 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:56:04,524 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 23:56:04,999 INFO L388 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 14 treesize of output 12 [2021-09-13 23:56:05,001 INFO L388 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 26 treesize of output 24 [2021-09-13 23:56:05,009 INFO L388 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 13 treesize of output 11 [2021-09-13 23:56:05,012 INFO L388 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 24 treesize of output 22 [2021-09-13 23:56:05,034 INFO L388 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 6 treesize of output 4 [2021-09-13 23:56:05,137 INFO L354 Elim1Store]: treesize reduction 5, result has 37.5 percent of original size [2021-09-13 23:56:05,138 INFO L388 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 13 treesize of output 12 [2021-09-13 23:56:05,189 INFO L281 TraceCheckUtils]: 42: Hoare triple {11176#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume !(0 == ~pred~0.base || 1 == #valid[~pred~0.base]); {11144#false} is VALID [2021-09-13 23:56:05,190 INFO L281 TraceCheckUtils]: 41: Hoare triple {11176#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume ~pred~0.base < #StackHeapBarrier; {11176#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:05,190 INFO L281 TraceCheckUtils]: 40: Hoare triple {11176#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume 0 == ~pred~0.offset; {11176#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:05,191 INFO L281 TraceCheckUtils]: 39: Hoare triple {11176#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume !(0 != #t~nondet8);havoc #t~nondet8; {11176#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:05,191 INFO L281 TraceCheckUtils]: 38: Hoare triple {11175#(= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume 0 == ~head.base || 1 == #valid[~head.base];call ULTIMATE.dealloc(~head.base, ~head.offset);assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {11176#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:05,191 INFO L281 TraceCheckUtils]: 37: Hoare triple {11175#(= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume ~head.base < #StackHeapBarrier; {11175#(= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:05,192 INFO L281 TraceCheckUtils]: 36: Hoare triple {11343#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1))} assume 0 == ~head.offset; {11175#(= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:05,192 INFO L281 TraceCheckUtils]: 35: Hoare triple {11343#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1))} assume 0 != #t~nondet7;havoc #t~nondet7; {11343#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1))} is VALID [2021-09-13 23:56:05,192 INFO L281 TraceCheckUtils]: 34: Hoare triple {11343#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647; {11343#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1))} is VALID [2021-09-13 23:56:05,193 INFO L281 TraceCheckUtils]: 33: Hoare triple {11353#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1) (< _destroy_in_nondeterministic_order_~head.offset 0))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4); srcloc: L587 {11343#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1))} is VALID [2021-09-13 23:56:05,193 INFO L281 TraceCheckUtils]: 32: Hoare triple {11357#(or (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) |_destroy_in_nondeterministic_order_#t~mem5.base|) 1) (< 0 _destroy_in_nondeterministic_order_~head.offset) (< _destroy_in_nondeterministic_order_~head.offset 0))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {11353#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1) (< _destroy_in_nondeterministic_order_~head.offset 0))} is VALID [2021-09-13 23:56:05,194 INFO L281 TraceCheckUtils]: 31: Hoare triple {11284#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) 1) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, 4 + ~head.offset, 4); srcloc: L586 {11357#(or (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) |_destroy_in_nondeterministic_order_#t~mem5.base|) 1) (< 0 _destroy_in_nondeterministic_order_~head.offset) (< _destroy_in_nondeterministic_order_~head.offset 0))} is VALID [2021-09-13 23:56:05,195 INFO L281 TraceCheckUtils]: 30: Hoare triple {11280#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)) 1) (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {11284#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) 1) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} is VALID [2021-09-13 23:56:05,195 INFO L264 TraceCheckUtils]: 29: Hoare triple {11276#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)) 1) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {11280#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)) 1) (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))))} is VALID [2021-09-13 23:56:05,196 INFO L281 TraceCheckUtils]: 28: Hoare triple {11272#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4)) 1) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|)))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {11276#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)) 1) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))))} is VALID [2021-09-13 23:56:05,197 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {11265#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))))} {11143#true} #197#return; {11272#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4)) 1) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|)))} is VALID [2021-09-13 23:56:05,197 INFO L281 TraceCheckUtils]: 26: Hoare triple {11265#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))))} assume true; {11265#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))))} is VALID [2021-09-13 23:56:05,197 INFO L281 TraceCheckUtils]: 25: Hoare triple {11261#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4)) 1) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) dll_circular_create_~head~0.base)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {11265#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))))} is VALID [2021-09-13 23:56:05,198 INFO L281 TraceCheckUtils]: 24: Hoare triple {11183#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {11261#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4)) 1) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:56:05,199 INFO L281 TraceCheckUtils]: 23: Hoare triple {11182#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {11183#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:56:05,199 INFO L281 TraceCheckUtils]: 22: Hoare triple {11182#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} assume !(~len > 1); {11182#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:56:05,199 INFO L281 TraceCheckUtils]: 21: Hoare triple {11181#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {11182#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:56:05,200 INFO L281 TraceCheckUtils]: 20: Hoare triple {11181#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {11181#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:56:05,200 INFO L281 TraceCheckUtils]: 19: Hoare triple {11181#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {11181#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:56:05,201 INFO L281 TraceCheckUtils]: 18: Hoare triple {11181#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {11181#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:56:05,201 INFO L281 TraceCheckUtils]: 17: Hoare triple {11406#(not (= (select |#valid| dll_circular_create_~last~0.base) 0))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {11181#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:56:05,202 INFO L281 TraceCheckUtils]: 16: Hoare triple {11406#(not (= (select |#valid| dll_circular_create_~last~0.base) 0))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {11406#(not (= (select |#valid| dll_circular_create_~last~0.base) 0))} is VALID [2021-09-13 23:56:05,202 INFO L281 TraceCheckUtils]: 15: Hoare triple {11179#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {11406#(not (= (select |#valid| dll_circular_create_~last~0.base) 0))} is VALID [2021-09-13 23:56:05,202 INFO L281 TraceCheckUtils]: 14: Hoare triple {11179#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {11179#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:56:05,203 INFO L281 TraceCheckUtils]: 13: Hoare triple {11179#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {11179#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:56:05,203 INFO L281 TraceCheckUtils]: 12: Hoare triple {11179#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {11179#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:56:05,203 INFO L281 TraceCheckUtils]: 11: Hoare triple {11143#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {11179#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:56:05,203 INFO L281 TraceCheckUtils]: 10: Hoare triple {11143#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {11143#true} is VALID [2021-09-13 23:56:05,204 INFO L281 TraceCheckUtils]: 9: Hoare triple {11143#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {11143#true} is VALID [2021-09-13 23:56:05,204 INFO L281 TraceCheckUtils]: 8: Hoare triple {11143#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {11143#true} is VALID [2021-09-13 23:56:05,204 INFO L281 TraceCheckUtils]: 7: Hoare triple {11143#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {11143#true} is VALID [2021-09-13 23:56:05,204 INFO L264 TraceCheckUtils]: 6: Hoare triple {11143#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {11143#true} is VALID [2021-09-13 23:56:05,204 INFO L281 TraceCheckUtils]: 5: Hoare triple {11143#true} ~len~0 := 3; {11143#true} is VALID [2021-09-13 23:56:05,204 INFO L264 TraceCheckUtils]: 4: Hoare triple {11143#true} call #t~ret13 := main(); {11143#true} is VALID [2021-09-13 23:56:05,204 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {11143#true} {11143#true} #201#return; {11143#true} is VALID [2021-09-13 23:56:05,204 INFO L281 TraceCheckUtils]: 2: Hoare triple {11143#true} assume true; {11143#true} is VALID [2021-09-13 23:56:05,204 INFO L281 TraceCheckUtils]: 1: Hoare triple {11143#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {11143#true} is VALID [2021-09-13 23:56:05,204 INFO L264 TraceCheckUtils]: 0: Hoare triple {11143#true} call ULTIMATE.init(); {11143#true} is VALID [2021-09-13 23:56:05,204 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:56:05,204 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleZ3 [687644954] provided 0 perfect and 2 imperfect interpolant sequences [2021-09-13 23:56:05,204 INFO L186 FreeRefinementEngine]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2021-09-13 23:56:05,205 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 17, 17] total 32 [2021-09-13 23:56:05,205 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [591259680] [2021-09-13 23:56:05,205 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 30 states have (on average 2.1333333333333333) internal successors, (64), 27 states have internal predecessors, (64), 3 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) Word has length 43 [2021-09-13 23:56:05,206 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:56:05,206 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 33 states, 30 states have (on average 2.1333333333333333) internal successors, (64), 27 states have internal predecessors, (64), 3 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-13 23:56:05,258 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:56:05,258 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 33 states [2021-09-13 23:56:05,258 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 23:56:05,258 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2021-09-13 23:56:05,259 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=92, Invalid=964, Unknown=0, NotChecked=0, Total=1056 [2021-09-13 23:56:05,259 INFO L87 Difference]: Start difference. First operand 98 states and 103 transitions. Second operand has 33 states, 30 states have (on average 2.1333333333333333) internal successors, (64), 27 states have internal predecessors, (64), 3 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-13 23:56:06,860 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:56:06,860 INFO L93 Difference]: Finished difference Result 97 states and 102 transitions. [2021-09-13 23:56:06,860 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2021-09-13 23:56:06,860 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 30 states have (on average 2.1333333333333333) internal successors, (64), 27 states have internal predecessors, (64), 3 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) Word has length 43 [2021-09-13 23:56:06,861 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:56:06,861 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 30 states have (on average 2.1333333333333333) internal successors, (64), 27 states have internal predecessors, (64), 3 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-13 23:56:06,862 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 102 transitions. [2021-09-13 23:56:06,862 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 30 states have (on average 2.1333333333333333) internal successors, (64), 27 states have internal predecessors, (64), 3 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-13 23:56:06,862 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 102 transitions. [2021-09-13 23:56:06,863 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 102 transitions. [2021-09-13 23:56:06,921 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:56:06,922 INFO L225 Difference]: With dead ends: 97 [2021-09-13 23:56:06,922 INFO L226 Difference]: Without dead ends: 97 [2021-09-13 23:56:06,922 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 117 GetRequests, 73 SyntacticMatches, 2 SemanticMatches, 42 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 238 ImplicationChecksByTransitivity, 803.39ms TimeCoverageRelationStatistics Valid=193, Invalid=1699, Unknown=0, NotChecked=0, Total=1892 [2021-09-13 23:56:06,923 INFO L928 BasicCegarLoop]: 7 mSDtfsCounter, 145 mSDsluCounter, 641 mSDsCounter, 0 mSdLazyCounter, 1506 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 676.72ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 145 SdHoareTripleChecker+Valid, 85 SdHoareTripleChecker+Invalid, 1720 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 3.47ms SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 1506 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 189 IncrementalHoareTripleChecker+Unchecked, 683.21ms IncrementalHoareTripleChecker+Time [2021-09-13 23:56:06,923 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [145 Valid, 85 Invalid, 1720 Unknown, 0 Unchecked, 3.47ms Time], IncrementalHoareTripleChecker [25 Valid, 1506 Invalid, 0 Unknown, 189 Unchecked, 683.21ms Time] [2021-09-13 23:56:06,923 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 97 states. [2021-09-13 23:56:06,925 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 97 to 97. [2021-09-13 23:56:06,925 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:56:06,925 INFO L82 GeneralOperation]: Start isEquivalent. First operand 97 states. Second operand has 97 states, 79 states have (on average 1.2025316455696202) internal successors, (95), 89 states have internal predecessors, (95), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:56:06,925 INFO L74 IsIncluded]: Start isIncluded. First operand 97 states. Second operand has 97 states, 79 states have (on average 1.2025316455696202) internal successors, (95), 89 states have internal predecessors, (95), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:56:06,925 INFO L87 Difference]: Start difference. First operand 97 states. Second operand has 97 states, 79 states have (on average 1.2025316455696202) internal successors, (95), 89 states have internal predecessors, (95), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:56:06,926 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:56:06,926 INFO L93 Difference]: Finished difference Result 97 states and 102 transitions. [2021-09-13 23:56:06,926 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 102 transitions. [2021-09-13 23:56:06,927 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:56:06,927 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:56:06,927 INFO L74 IsIncluded]: Start isIncluded. First operand has 97 states, 79 states have (on average 1.2025316455696202) internal successors, (95), 89 states have internal predecessors, (95), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 97 states. [2021-09-13 23:56:06,927 INFO L87 Difference]: Start difference. First operand has 97 states, 79 states have (on average 1.2025316455696202) internal successors, (95), 89 states have internal predecessors, (95), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 97 states. [2021-09-13 23:56:06,928 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:56:06,928 INFO L93 Difference]: Finished difference Result 97 states and 102 transitions. [2021-09-13 23:56:06,928 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 102 transitions. [2021-09-13 23:56:06,928 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:56:06,929 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:56:06,929 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:56:06,929 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:56:06,929 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 97 states, 79 states have (on average 1.2025316455696202) internal successors, (95), 89 states have internal predecessors, (95), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:56:06,930 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 102 transitions. [2021-09-13 23:56:06,930 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 102 transitions. Word has length 43 [2021-09-13 23:56:06,930 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:56:06,930 INFO L470 AbstractCegarLoop]: Abstraction has 97 states and 102 transitions. [2021-09-13 23:56:06,930 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 33 states, 30 states have (on average 2.1333333333333333) internal successors, (64), 27 states have internal predecessors, (64), 3 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-13 23:56:06,930 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 102 transitions. [2021-09-13 23:56:06,931 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2021-09-13 23:56:06,931 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:56:06,931 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 23:56:06,948 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2021-09-13 23:56:07,147 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 23:56:07,148 INFO L402 AbstractCegarLoop]: === Iteration 21 === Targeting _destroy_in_nondeterministic_orderErr9ASSERT_VIOLATIONMEMORY_FREE === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:56:07,148 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:56:07,148 INFO L82 PathProgramCache]: Analyzing trace with hash 2033459845, now seen corresponding path program 1 times [2021-09-13 23:56:07,149 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 23:56:07,149 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [728743082] [2021-09-13 23:56:07,149 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:56:07,149 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 23:56:07,158 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:56:07,252 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2021-09-13 23:56:07,253 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:56:07,255 INFO L281 TraceCheckUtils]: 0: Hoare triple {11901#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {11868#true} is VALID [2021-09-13 23:56:07,255 INFO L281 TraceCheckUtils]: 1: Hoare triple {11868#true} assume true; {11868#true} is VALID [2021-09-13 23:56:07,255 INFO L276 TraceCheckUtils]: 2: Hoare quadruple {11868#true} {11868#true} #201#return; {11868#true} is VALID [2021-09-13 23:56:07,268 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2021-09-13 23:56:07,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:56:07,546 INFO L281 TraceCheckUtils]: 0: Hoare triple {11902#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {11868#true} is VALID [2021-09-13 23:56:07,546 INFO L281 TraceCheckUtils]: 1: Hoare triple {11868#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {11868#true} is VALID [2021-09-13 23:56:07,546 INFO L281 TraceCheckUtils]: 2: Hoare triple {11868#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {11868#true} is VALID [2021-09-13 23:56:07,546 INFO L281 TraceCheckUtils]: 3: Hoare triple {11868#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {11868#true} is VALID [2021-09-13 23:56:07,546 INFO L281 TraceCheckUtils]: 4: Hoare triple {11868#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {11903#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:56:07,547 INFO L281 TraceCheckUtils]: 5: Hoare triple {11903#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {11903#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:56:07,547 INFO L281 TraceCheckUtils]: 6: Hoare triple {11903#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {11903#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:56:07,548 INFO L281 TraceCheckUtils]: 7: Hoare triple {11903#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {11904#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:56:07,548 INFO L281 TraceCheckUtils]: 8: Hoare triple {11904#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {11905#(and (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:56:07,549 INFO L281 TraceCheckUtils]: 9: Hoare triple {11905#(and (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {11906#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:56:07,549 INFO L281 TraceCheckUtils]: 10: Hoare triple {11906#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (= (select |#valid| dll_circular_create_~last~0.base) 1))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {11907#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:56:07,550 INFO L281 TraceCheckUtils]: 11: Hoare triple {11907#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {11907#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:56:07,550 INFO L281 TraceCheckUtils]: 12: Hoare triple {11907#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {11908#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~new_head~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (= dll_circular_create_~head~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} is VALID [2021-09-13 23:56:07,551 INFO L281 TraceCheckUtils]: 13: Hoare triple {11908#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~new_head~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (= dll_circular_create_~head~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {11909#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) 1))} is VALID [2021-09-13 23:56:07,552 INFO L281 TraceCheckUtils]: 14: Hoare triple {11909#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) 1))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {11910#(and (= (select |#valid| (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) 1) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:56:07,552 INFO L281 TraceCheckUtils]: 15: Hoare triple {11910#(and (= (select |#valid| (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) 1) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base)))} assume !(~len > 1); {11910#(and (= (select |#valid| (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) 1) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:56:07,553 INFO L281 TraceCheckUtils]: 16: Hoare triple {11910#(and (= (select |#valid| (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) 1) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {11911#(and (not (= dll_circular_create_~head~0.base (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset))) (= (select |#valid| (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset)) 1))} is VALID [2021-09-13 23:56:07,553 INFO L281 TraceCheckUtils]: 17: Hoare triple {11911#(and (not (= dll_circular_create_~head~0.base (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset))) (= (select |#valid| (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset)) 1))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {11911#(and (not (= dll_circular_create_~head~0.base (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset))) (= (select |#valid| (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset)) 1))} is VALID [2021-09-13 23:56:07,554 INFO L281 TraceCheckUtils]: 18: Hoare triple {11911#(and (not (= dll_circular_create_~head~0.base (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset))) (= (select |#valid| (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset)) 1))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {11912#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) 1) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))))} is VALID [2021-09-13 23:56:07,554 INFO L281 TraceCheckUtils]: 19: Hoare triple {11912#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) 1) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))))} assume true; {11912#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) 1) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))))} is VALID [2021-09-13 23:56:07,555 INFO L276 TraceCheckUtils]: 20: Hoare quadruple {11912#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) 1) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))))} {11868#true} #197#return; {11894#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|)) 1) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|) |main_#t~ret12.base|)))} is VALID [2021-09-13 23:56:07,556 INFO L264 TraceCheckUtils]: 0: Hoare triple {11868#true} call ULTIMATE.init(); {11901#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2021-09-13 23:56:07,556 INFO L281 TraceCheckUtils]: 1: Hoare triple {11901#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {11868#true} is VALID [2021-09-13 23:56:07,556 INFO L281 TraceCheckUtils]: 2: Hoare triple {11868#true} assume true; {11868#true} is VALID [2021-09-13 23:56:07,556 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {11868#true} {11868#true} #201#return; {11868#true} is VALID [2021-09-13 23:56:07,556 INFO L264 TraceCheckUtils]: 4: Hoare triple {11868#true} call #t~ret13 := main(); {11868#true} is VALID [2021-09-13 23:56:07,556 INFO L281 TraceCheckUtils]: 5: Hoare triple {11868#true} ~len~0 := 3; {11868#true} is VALID [2021-09-13 23:56:07,557 INFO L264 TraceCheckUtils]: 6: Hoare triple {11868#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {11902#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2021-09-13 23:56:07,557 INFO L281 TraceCheckUtils]: 7: Hoare triple {11902#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {11868#true} is VALID [2021-09-13 23:56:07,557 INFO L281 TraceCheckUtils]: 8: Hoare triple {11868#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {11868#true} is VALID [2021-09-13 23:56:07,557 INFO L281 TraceCheckUtils]: 9: Hoare triple {11868#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {11868#true} is VALID [2021-09-13 23:56:07,557 INFO L281 TraceCheckUtils]: 10: Hoare triple {11868#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {11868#true} is VALID [2021-09-13 23:56:07,557 INFO L281 TraceCheckUtils]: 11: Hoare triple {11868#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {11903#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:56:07,557 INFO L281 TraceCheckUtils]: 12: Hoare triple {11903#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {11903#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:56:07,558 INFO L281 TraceCheckUtils]: 13: Hoare triple {11903#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {11903#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:56:07,558 INFO L281 TraceCheckUtils]: 14: Hoare triple {11903#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {11904#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:56:07,559 INFO L281 TraceCheckUtils]: 15: Hoare triple {11904#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {11905#(and (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:56:07,559 INFO L281 TraceCheckUtils]: 16: Hoare triple {11905#(and (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {11906#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:56:07,560 INFO L281 TraceCheckUtils]: 17: Hoare triple {11906#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (= (select |#valid| dll_circular_create_~last~0.base) 1))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {11907#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:56:07,560 INFO L281 TraceCheckUtils]: 18: Hoare triple {11907#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {11907#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:56:07,561 INFO L281 TraceCheckUtils]: 19: Hoare triple {11907#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {11908#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~new_head~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (= dll_circular_create_~head~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} is VALID [2021-09-13 23:56:07,562 INFO L281 TraceCheckUtils]: 20: Hoare triple {11908#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~new_head~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (= dll_circular_create_~head~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {11909#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) 1))} is VALID [2021-09-13 23:56:07,562 INFO L281 TraceCheckUtils]: 21: Hoare triple {11909#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) 1))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {11910#(and (= (select |#valid| (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) 1) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:56:07,563 INFO L281 TraceCheckUtils]: 22: Hoare triple {11910#(and (= (select |#valid| (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) 1) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base)))} assume !(~len > 1); {11910#(and (= (select |#valid| (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) 1) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:56:07,563 INFO L281 TraceCheckUtils]: 23: Hoare triple {11910#(and (= (select |#valid| (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) 1) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {11911#(and (not (= dll_circular_create_~head~0.base (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset))) (= (select |#valid| (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset)) 1))} is VALID [2021-09-13 23:56:07,564 INFO L281 TraceCheckUtils]: 24: Hoare triple {11911#(and (not (= dll_circular_create_~head~0.base (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset))) (= (select |#valid| (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset)) 1))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {11911#(and (not (= dll_circular_create_~head~0.base (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset))) (= (select |#valid| (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset)) 1))} is VALID [2021-09-13 23:56:07,564 INFO L281 TraceCheckUtils]: 25: Hoare triple {11911#(and (not (= dll_circular_create_~head~0.base (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset))) (= (select |#valid| (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset)) 1))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {11912#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) 1) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))))} is VALID [2021-09-13 23:56:07,565 INFO L281 TraceCheckUtils]: 26: Hoare triple {11912#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) 1) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))))} assume true; {11912#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) 1) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))))} is VALID [2021-09-13 23:56:07,566 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {11912#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) 1) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))))} {11868#true} #197#return; {11894#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|)) 1) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|) |main_#t~ret12.base|)))} is VALID [2021-09-13 23:56:07,566 INFO L281 TraceCheckUtils]: 28: Hoare triple {11894#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|)) 1) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|) |main_#t~ret12.base|)))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {11895#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset)) 1) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset) main_~head~1.base)))} is VALID [2021-09-13 23:56:07,567 INFO L264 TraceCheckUtils]: 29: Hoare triple {11895#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset)) 1) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset) main_~head~1.base)))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {11896#(and (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|)) 1))} is VALID [2021-09-13 23:56:07,567 INFO L281 TraceCheckUtils]: 30: Hoare triple {11896#(and (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|)) 1))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {11897#(= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset)) 1)} is VALID [2021-09-13 23:56:07,568 INFO L281 TraceCheckUtils]: 31: Hoare triple {11897#(= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset)) 1)} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, 4 + ~head.offset, 4); srcloc: L586 {11897#(= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset)) 1)} is VALID [2021-09-13 23:56:07,568 INFO L281 TraceCheckUtils]: 32: Hoare triple {11897#(= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset)) 1)} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {11897#(= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset)) 1)} is VALID [2021-09-13 23:56:07,569 INFO L281 TraceCheckUtils]: 33: Hoare triple {11897#(= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset)) 1)} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4); srcloc: L587 {11898#(= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) |_destroy_in_nondeterministic_order_#t~mem6.base|) 1)} is VALID [2021-09-13 23:56:07,569 INFO L281 TraceCheckUtils]: 34: Hoare triple {11898#(= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) |_destroy_in_nondeterministic_order_#t~mem6.base|) 1)} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647; {11899#(= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~succ~0.base) 1)} is VALID [2021-09-13 23:56:07,569 INFO L281 TraceCheckUtils]: 35: Hoare triple {11899#(= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~succ~0.base) 1)} assume 0 != #t~nondet7;havoc #t~nondet7; {11899#(= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~succ~0.base) 1)} is VALID [2021-09-13 23:56:07,570 INFO L281 TraceCheckUtils]: 36: Hoare triple {11899#(= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~succ~0.base) 1)} assume 0 == ~head.offset; {11899#(= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~succ~0.base) 1)} is VALID [2021-09-13 23:56:07,570 INFO L281 TraceCheckUtils]: 37: Hoare triple {11899#(= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~succ~0.base) 1)} assume ~head.base < #StackHeapBarrier; {11899#(= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~succ~0.base) 1)} is VALID [2021-09-13 23:56:07,570 INFO L281 TraceCheckUtils]: 38: Hoare triple {11899#(= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~succ~0.base) 1)} assume 0 == ~head.base || 1 == #valid[~head.base];call ULTIMATE.dealloc(~head.base, ~head.offset);assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {11900#(= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1)} is VALID [2021-09-13 23:56:07,571 INFO L281 TraceCheckUtils]: 39: Hoare triple {11900#(= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1)} assume 0 != #t~nondet8;havoc #t~nondet8; {11900#(= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1)} is VALID [2021-09-13 23:56:07,571 INFO L281 TraceCheckUtils]: 40: Hoare triple {11900#(= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1)} assume 0 == ~succ~0.offset; {11900#(= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1)} is VALID [2021-09-13 23:56:07,571 INFO L281 TraceCheckUtils]: 41: Hoare triple {11900#(= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1)} assume ~succ~0.base < #StackHeapBarrier; {11900#(= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1)} is VALID [2021-09-13 23:56:07,572 INFO L281 TraceCheckUtils]: 42: Hoare triple {11900#(= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1)} assume !(0 == ~succ~0.base || 1 == #valid[~succ~0.base]); {11869#false} is VALID [2021-09-13 23:56:07,572 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:56:07,572 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 23:56:07,572 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [728743082] [2021-09-13 23:56:07,572 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [728743082] provided 0 perfect and 1 imperfect interpolant sequences [2021-09-13 23:56:07,572 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1285096460] [2021-09-13 23:56:07,573 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:56:07,573 INFO L170 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 23:56:07,573 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-09-13 23:56:07,589 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2021-09-13 23:56:07,592 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2021-09-13 23:56:07,681 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:56:07,682 INFO L263 TraceCheckSpWp]: Trace formula consists of 201 conjuncts, 38 conjunts are in the unsatisfiable core [2021-09-13 23:56:07,695 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:56:07,696 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 23:56:07,717 INFO L388 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 [2021-09-13 23:56:07,761 INFO L354 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2021-09-13 23:56:07,761 INFO L388 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 14 [2021-09-13 23:56:07,819 INFO L354 Elim1Store]: treesize reduction 16, result has 36.0 percent of original size [2021-09-13 23:56:07,819 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 16 treesize of output 18 [2021-09-13 23:56:07,861 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2021-09-13 23:56:07,908 INFO L354 Elim1Store]: treesize reduction 29, result has 19.4 percent of original size [2021-09-13 23:56:07,909 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 39 treesize of output 29 [2021-09-13 23:56:08,084 INFO L354 Elim1Store]: treesize reduction 45, result has 16.7 percent of original size [2021-09-13 23:56:08,084 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 42 treesize of output 39 [2021-09-13 23:56:08,309 INFO L354 Elim1Store]: treesize reduction 116, result has 20.5 percent of original size [2021-09-13 23:56:08,310 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 6 case distinctions, treesize of input 60 treesize of output 66 [2021-09-13 23:56:14,388 INFO L354 Elim1Store]: treesize reduction 104, result has 21.8 percent of original size [2021-09-13 23:56:14,389 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 5 select indices, 5 select index equivalence classes, 0 disjoint index pairs (out of 10 index pairs), introduced 7 new quantified variables, introduced 10 case distinctions, treesize of input 115 treesize of output 71 [2021-09-13 23:56:14,894 INFO L354 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2021-09-13 23:56:14,895 INFO L388 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 16 treesize of output 18 [2021-09-13 23:56:14,967 INFO L264 TraceCheckUtils]: 0: Hoare triple {11868#true} call ULTIMATE.init(); {11868#true} is VALID [2021-09-13 23:56:14,967 INFO L281 TraceCheckUtils]: 1: Hoare triple {11868#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {11868#true} is VALID [2021-09-13 23:56:14,967 INFO L281 TraceCheckUtils]: 2: Hoare triple {11868#true} assume true; {11868#true} is VALID [2021-09-13 23:56:14,967 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {11868#true} {11868#true} #201#return; {11868#true} is VALID [2021-09-13 23:56:14,967 INFO L264 TraceCheckUtils]: 4: Hoare triple {11868#true} call #t~ret13 := main(); {11868#true} is VALID [2021-09-13 23:56:14,967 INFO L281 TraceCheckUtils]: 5: Hoare triple {11868#true} ~len~0 := 3; {11868#true} is VALID [2021-09-13 23:56:14,968 INFO L264 TraceCheckUtils]: 6: Hoare triple {11868#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {11868#true} is VALID [2021-09-13 23:56:14,968 INFO L281 TraceCheckUtils]: 7: Hoare triple {11868#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {11937#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:56:14,968 INFO L281 TraceCheckUtils]: 8: Hoare triple {11937#(= (select |#valid| dll_circular_create_~last~0.base) 1)} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {11937#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:56:14,969 INFO L281 TraceCheckUtils]: 9: Hoare triple {11937#(= (select |#valid| dll_circular_create_~last~0.base) 1)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {11937#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:56:14,969 INFO L281 TraceCheckUtils]: 10: Hoare triple {11937#(= (select |#valid| dll_circular_create_~last~0.base) 1)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {11937#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:56:14,969 INFO L281 TraceCheckUtils]: 11: Hoare triple {11937#(= (select |#valid| dll_circular_create_~last~0.base) 1)} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {11937#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:56:14,970 INFO L281 TraceCheckUtils]: 12: Hoare triple {11937#(= (select |#valid| dll_circular_create_~last~0.base) 1)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {11905#(and (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:56:14,970 INFO L281 TraceCheckUtils]: 13: Hoare triple {11905#(and (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {11905#(and (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:56:14,970 INFO L281 TraceCheckUtils]: 14: Hoare triple {11905#(and (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {11905#(and (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:56:14,971 INFO L281 TraceCheckUtils]: 15: Hoare triple {11905#(and (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {11905#(and (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:56:14,971 INFO L281 TraceCheckUtils]: 16: Hoare triple {11905#(and (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {11906#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:56:14,972 INFO L281 TraceCheckUtils]: 17: Hoare triple {11906#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (= (select |#valid| dll_circular_create_~last~0.base) 1))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {11907#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:56:14,972 INFO L281 TraceCheckUtils]: 18: Hoare triple {11907#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {11907#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:56:14,984 INFO L281 TraceCheckUtils]: 19: Hoare triple {11907#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {11974#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) 0) dll_circular_create_~head~0.base))} is VALID [2021-09-13 23:56:14,985 INFO L281 TraceCheckUtils]: 20: Hoare triple {11974#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) 0) dll_circular_create_~head~0.base))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {11978#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (exists ((dll_circular_create_~head~0.offset Int)) (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) 0)) (+ dll_circular_create_~head~0.offset 4)))) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) 0)) 1) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) 0) dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:56:14,985 INFO L281 TraceCheckUtils]: 21: Hoare triple {11978#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (exists ((dll_circular_create_~head~0.offset Int)) (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) 0)) (+ dll_circular_create_~head~0.offset 4)))) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) 0)) 1) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) 0) dll_circular_create_~new_head~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {11982#(and (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (exists ((dll_circular_create_~head~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ dll_circular_create_~head~0.offset 4)) dll_circular_create_~head~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) 1))} is VALID [2021-09-13 23:56:14,986 INFO L281 TraceCheckUtils]: 22: Hoare triple {11982#(and (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (exists ((dll_circular_create_~head~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ dll_circular_create_~head~0.offset 4)) dll_circular_create_~head~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) 1))} assume !(~len > 1); {11982#(and (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (exists ((dll_circular_create_~head~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ dll_circular_create_~head~0.offset 4)) dll_circular_create_~head~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) 1))} is VALID [2021-09-13 23:56:14,987 INFO L281 TraceCheckUtils]: 23: Hoare triple {11982#(and (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (exists ((dll_circular_create_~head~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ dll_circular_create_~head~0.offset 4)) dll_circular_create_~head~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) 1))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {11989#(and (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= (select |#valid| dll_circular_create_~last~0.base) 1) (exists ((dll_circular_create_~last~0.offset Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset))) (exists ((dll_circular_create_~head~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ dll_circular_create_~head~0.offset 4)) dll_circular_create_~head~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) 1))} is VALID [2021-09-13 23:56:15,868 INFO L281 TraceCheckUtils]: 24: Hoare triple {11989#(and (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= (select |#valid| dll_circular_create_~last~0.base) 1) (exists ((dll_circular_create_~last~0.offset Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset))) (exists ((dll_circular_create_~head~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ dll_circular_create_~head~0.offset 4)) dll_circular_create_~head~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) 1))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {11993#(exists ((v_arrayElimCell_73 Int) (dll_circular_create_~last~0.offset Int) (dll_circular_create_~head~0.offset Int) (v_dll_circular_create_~head~0.offset_46 Int)) (and (= (select |#valid| v_arrayElimCell_73) 1) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4)))) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0) v_arrayElimCell_73)) (not (= dll_circular_create_~head~0.base v_arrayElimCell_73)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset)) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4))) 1)))} is UNKNOWN [2021-09-13 23:56:15,870 INFO L281 TraceCheckUtils]: 25: Hoare triple {11993#(exists ((v_arrayElimCell_73 Int) (dll_circular_create_~last~0.offset Int) (dll_circular_create_~head~0.offset Int) (v_dll_circular_create_~head~0.offset_46 Int)) (and (= (select |#valid| v_arrayElimCell_73) 1) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4)))) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0) v_arrayElimCell_73)) (not (= dll_circular_create_~head~0.base v_arrayElimCell_73)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset)) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4))) 1)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {11997#(exists ((v_arrayElimCell_73 Int) (dll_circular_create_~last~0.offset Int) (dll_circular_create_~head~0.offset Int) (v_dll_circular_create_~head~0.offset_46 Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|) (= (select |#valid| v_arrayElimCell_73) 1) (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ dll_circular_create_~head~0.offset 4))) 1) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0) v_arrayElimCell_73)) (not (= |dll_circular_create_#res.base| v_arrayElimCell_73)) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ dll_circular_create_~head~0.offset 4))))))} is VALID [2021-09-13 23:56:15,870 INFO L281 TraceCheckUtils]: 26: Hoare triple {11997#(exists ((v_arrayElimCell_73 Int) (dll_circular_create_~last~0.offset Int) (dll_circular_create_~head~0.offset Int) (v_dll_circular_create_~head~0.offset_46 Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|) (= (select |#valid| v_arrayElimCell_73) 1) (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ dll_circular_create_~head~0.offset 4))) 1) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0) v_arrayElimCell_73)) (not (= |dll_circular_create_#res.base| v_arrayElimCell_73)) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ dll_circular_create_~head~0.offset 4))))))} assume true; {11997#(exists ((v_arrayElimCell_73 Int) (dll_circular_create_~last~0.offset Int) (dll_circular_create_~head~0.offset Int) (v_dll_circular_create_~head~0.offset_46 Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|) (= (select |#valid| v_arrayElimCell_73) 1) (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ dll_circular_create_~head~0.offset 4))) 1) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0) v_arrayElimCell_73)) (not (= |dll_circular_create_#res.base| v_arrayElimCell_73)) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ dll_circular_create_~head~0.offset 4))))))} is VALID [2021-09-13 23:56:15,872 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {11997#(exists ((v_arrayElimCell_73 Int) (dll_circular_create_~last~0.offset Int) (dll_circular_create_~head~0.offset Int) (v_dll_circular_create_~head~0.offset_46 Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|) (= (select |#valid| v_arrayElimCell_73) 1) (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ dll_circular_create_~head~0.offset 4))) 1) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0) v_arrayElimCell_73)) (not (= |dll_circular_create_#res.base| v_arrayElimCell_73)) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ dll_circular_create_~head~0.offset 4))))))} {11868#true} #197#return; {12004#(exists ((v_arrayElimCell_73 Int) (dll_circular_create_~last~0.offset Int) (dll_circular_create_~head~0.offset Int) (v_dll_circular_create_~head~0.offset_46 Int)) (and (= (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4)) |main_#t~ret12.base|) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset) (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4)) (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4)))) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) 0) v_arrayElimCell_73)) (= (select |#valid| v_arrayElimCell_73) 1) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4))) 1) (not (= (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4)) v_arrayElimCell_73))))} is VALID [2021-09-13 23:56:15,873 INFO L281 TraceCheckUtils]: 28: Hoare triple {12004#(exists ((v_arrayElimCell_73 Int) (dll_circular_create_~last~0.offset Int) (dll_circular_create_~head~0.offset Int) (v_dll_circular_create_~head~0.offset_46 Int)) (and (= (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4)) |main_#t~ret12.base|) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset) (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4)) (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4)))) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) 0) v_arrayElimCell_73)) (= (select |#valid| v_arrayElimCell_73) 1) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4))) 1) (not (= (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4)) v_arrayElimCell_73))))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {12008#(exists ((v_arrayElimCell_73 Int) (dll_circular_create_~last~0.offset Int) (dll_circular_create_~head~0.offset Int) (v_dll_circular_create_~head~0.offset_46 Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset) (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4)) (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4)))) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) 0) v_arrayElimCell_73)) (= (select |#valid| v_arrayElimCell_73) 1) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4))) 1) (not (= (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4)) v_arrayElimCell_73)) (= main_~head~1.base (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4)))))} is VALID [2021-09-13 23:56:15,874 INFO L264 TraceCheckUtils]: 29: Hoare triple {12008#(exists ((v_arrayElimCell_73 Int) (dll_circular_create_~last~0.offset Int) (dll_circular_create_~head~0.offset Int) (v_dll_circular_create_~head~0.offset_46 Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset) (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4)) (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4)))) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) 0) v_arrayElimCell_73)) (= (select |#valid| v_arrayElimCell_73) 1) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4))) 1) (not (= (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4)) v_arrayElimCell_73)) (= main_~head~1.base (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4)))))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {12012#(exists ((v_arrayElimCell_73 Int) (dll_circular_create_~last~0.offset Int) (dll_circular_create_~head~0.offset Int) (v_dll_circular_create_~head~0.offset_46 Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset) (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4)) (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4)))) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) 0) v_arrayElimCell_73)) (= (select |#valid| v_arrayElimCell_73) 1) (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4))) 1) (not (= (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4)) v_arrayElimCell_73))))} is VALID [2021-09-13 23:56:15,874 INFO L281 TraceCheckUtils]: 30: Hoare triple {12012#(exists ((v_arrayElimCell_73 Int) (dll_circular_create_~last~0.offset Int) (dll_circular_create_~head~0.offset Int) (v_dll_circular_create_~head~0.offset_46 Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset) (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4)) (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4)))) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) 0) v_arrayElimCell_73)) (= (select |#valid| v_arrayElimCell_73) 1) (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4))) 1) (not (= (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4)) v_arrayElimCell_73))))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {12016#(exists ((v_arrayElimCell_73 Int) (dll_circular_create_~last~0.offset Int) (dll_circular_create_~head~0.offset Int) (v_dll_circular_create_~head~0.offset_46 Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset) (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4)) (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4)))) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) 0) v_arrayElimCell_73)) (= (select |#valid| v_arrayElimCell_73) 1) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4))) 1) (not (= (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4)) v_arrayElimCell_73))))} is VALID [2021-09-13 23:56:15,875 INFO L281 TraceCheckUtils]: 31: Hoare triple {12016#(exists ((v_arrayElimCell_73 Int) (dll_circular_create_~last~0.offset Int) (dll_circular_create_~head~0.offset Int) (v_dll_circular_create_~head~0.offset_46 Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset) (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4)) (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4)))) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) 0) v_arrayElimCell_73)) (= (select |#valid| v_arrayElimCell_73) 1) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4))) 1) (not (= (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4)) v_arrayElimCell_73))))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, 4 + ~head.offset, 4); srcloc: L586 {12016#(exists ((v_arrayElimCell_73 Int) (dll_circular_create_~last~0.offset Int) (dll_circular_create_~head~0.offset Int) (v_dll_circular_create_~head~0.offset_46 Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset) (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4)) (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4)))) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) 0) v_arrayElimCell_73)) (= (select |#valid| v_arrayElimCell_73) 1) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4))) 1) (not (= (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4)) v_arrayElimCell_73))))} is VALID [2021-09-13 23:56:15,875 INFO L281 TraceCheckUtils]: 32: Hoare triple {12016#(exists ((v_arrayElimCell_73 Int) (dll_circular_create_~last~0.offset Int) (dll_circular_create_~head~0.offset Int) (v_dll_circular_create_~head~0.offset_46 Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset) (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4)) (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4)))) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) 0) v_arrayElimCell_73)) (= (select |#valid| v_arrayElimCell_73) 1) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4))) 1) (not (= (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4)) v_arrayElimCell_73))))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {12016#(exists ((v_arrayElimCell_73 Int) (dll_circular_create_~last~0.offset Int) (dll_circular_create_~head~0.offset Int) (v_dll_circular_create_~head~0.offset_46 Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset) (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4)) (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4)))) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) 0) v_arrayElimCell_73)) (= (select |#valid| v_arrayElimCell_73) 1) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4))) 1) (not (= (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4)) v_arrayElimCell_73))))} is VALID [2021-09-13 23:56:15,876 INFO L281 TraceCheckUtils]: 33: Hoare triple {12016#(exists ((v_arrayElimCell_73 Int) (dll_circular_create_~last~0.offset Int) (dll_circular_create_~head~0.offset Int) (v_dll_circular_create_~head~0.offset_46 Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset) (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4)) (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4)))) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) 0) v_arrayElimCell_73)) (= (select |#valid| v_arrayElimCell_73) 1) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4))) (+ dll_circular_create_~head~0.offset 4))) 1) (not (= (select (select |#memory_$Pointer$.base| v_arrayElimCell_73) (+ v_dll_circular_create_~head~0.offset_46 4)) v_arrayElimCell_73))))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4); srcloc: L587 {12026#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((v_arrayElimCell_77 Int)) (and (= (select |#valid| v_arrayElimCell_77) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (= |_destroy_in_nondeterministic_order_#t~mem6.base| v_arrayElimCell_77)) (not (= _destroy_in_nondeterministic_order_~head.base v_arrayElimCell_77)))))} is VALID [2021-09-13 23:56:15,877 INFO L281 TraceCheckUtils]: 34: Hoare triple {12026#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((v_arrayElimCell_77 Int)) (and (= (select |#valid| v_arrayElimCell_77) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (= |_destroy_in_nondeterministic_order_#t~mem6.base| v_arrayElimCell_77)) (not (= _destroy_in_nondeterministic_order_~head.base v_arrayElimCell_77)))))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647; {12030#(and (exists ((v_arrayElimCell_77 Int)) (and (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (= _destroy_in_nondeterministic_order_~succ~0.base v_arrayElimCell_77)) (= (select |#valid| v_arrayElimCell_77) 1) (not (= _destroy_in_nondeterministic_order_~head.base v_arrayElimCell_77)))) (<= 0 _destroy_in_nondeterministic_order_~head.offset))} is VALID [2021-09-13 23:56:15,877 INFO L281 TraceCheckUtils]: 35: Hoare triple {12030#(and (exists ((v_arrayElimCell_77 Int)) (and (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (= _destroy_in_nondeterministic_order_~succ~0.base v_arrayElimCell_77)) (= (select |#valid| v_arrayElimCell_77) 1) (not (= _destroy_in_nondeterministic_order_~head.base v_arrayElimCell_77)))) (<= 0 _destroy_in_nondeterministic_order_~head.offset))} assume 0 != #t~nondet7;havoc #t~nondet7; {12030#(and (exists ((v_arrayElimCell_77 Int)) (and (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (= _destroy_in_nondeterministic_order_~succ~0.base v_arrayElimCell_77)) (= (select |#valid| v_arrayElimCell_77) 1) (not (= _destroy_in_nondeterministic_order_~head.base v_arrayElimCell_77)))) (<= 0 _destroy_in_nondeterministic_order_~head.offset))} is VALID [2021-09-13 23:56:15,878 INFO L281 TraceCheckUtils]: 36: Hoare triple {12030#(and (exists ((v_arrayElimCell_77 Int)) (and (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (= _destroy_in_nondeterministic_order_~succ~0.base v_arrayElimCell_77)) (= (select |#valid| v_arrayElimCell_77) 1) (not (= _destroy_in_nondeterministic_order_~head.base v_arrayElimCell_77)))) (<= 0 _destroy_in_nondeterministic_order_~head.offset))} assume 0 == ~head.offset; {11899#(= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~succ~0.base) 1)} is VALID [2021-09-13 23:56:15,878 INFO L281 TraceCheckUtils]: 37: Hoare triple {11899#(= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~succ~0.base) 1)} assume ~head.base < #StackHeapBarrier; {11899#(= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~succ~0.base) 1)} is VALID [2021-09-13 23:56:15,879 INFO L281 TraceCheckUtils]: 38: Hoare triple {11899#(= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~succ~0.base) 1)} assume 0 == ~head.base || 1 == #valid[~head.base];call ULTIMATE.dealloc(~head.base, ~head.offset);assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {12043#(and (exists ((_destroy_in_nondeterministic_order_~head.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1))} is VALID [2021-09-13 23:56:15,879 INFO L281 TraceCheckUtils]: 39: Hoare triple {12043#(and (exists ((_destroy_in_nondeterministic_order_~head.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1))} assume 0 != #t~nondet8;havoc #t~nondet8; {12043#(and (exists ((_destroy_in_nondeterministic_order_~head.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1))} is VALID [2021-09-13 23:56:15,879 INFO L281 TraceCheckUtils]: 40: Hoare triple {12043#(and (exists ((_destroy_in_nondeterministic_order_~head.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1))} assume 0 == ~succ~0.offset; {12043#(and (exists ((_destroy_in_nondeterministic_order_~head.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1))} is VALID [2021-09-13 23:56:15,880 INFO L281 TraceCheckUtils]: 41: Hoare triple {12043#(and (exists ((_destroy_in_nondeterministic_order_~head.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1))} assume ~succ~0.base < #StackHeapBarrier; {12043#(and (exists ((_destroy_in_nondeterministic_order_~head.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1))} is VALID [2021-09-13 23:56:15,880 INFO L281 TraceCheckUtils]: 42: Hoare triple {12043#(and (exists ((_destroy_in_nondeterministic_order_~head.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1))} assume !(0 == ~succ~0.base || 1 == #valid[~succ~0.base]); {11869#false} is VALID [2021-09-13 23:56:15,880 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 1 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:56:15,881 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 23:56:48,187 WARN L838 $PredicateComparison]: unable to prove that (forall ((_destroy_in_nondeterministic_order_~head.offset Int) (dll_circular_create_~head~0.offset Int)) (or (= (select (store |c_#valid| c_dll_circular_create_~head~0.base 0) (select (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) c_dll_circular_create_~last~0.base) _destroy_in_nondeterministic_order_~head.offset)) 1) (< 0 _destroy_in_nondeterministic_order_~head.offset) (< _destroy_in_nondeterministic_order_~head.offset 0))) is different from false [2021-09-13 23:56:49,642 INFO L354 Elim1Store]: treesize reduction 8, result has 91.9 percent of original size [2021-09-13 23:56:49,643 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 103 treesize of output 150 [2021-09-13 23:56:52,361 WARN L838 $PredicateComparison]: unable to prove that (forall ((_destroy_in_nondeterministic_order_~head.offset Int)) (or (and (forall ((v_dll_circular_create_~head~0.offset_55 Int) (dll_circular_create_~last~0.offset Int) (dll_circular_create_~head~0.offset Int)) (not (= c_dll_circular_create_~new_head~0.base (select (store (select (let ((.cse0 (store |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) c_dll_circular_create_~new_head~0.base)))) (store .cse0 c_dll_circular_create_~last~0.base (store (select .cse0 c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.base))) c_dll_circular_create_~new_head~0.base) (+ v_dll_circular_create_~head~0.offset_55 4) c_dll_circular_create_~last~0.base) _destroy_in_nondeterministic_order_~head.offset)))) (forall ((v_dll_circular_create_~head~0.offset_55 Int) (dll_circular_create_~last~0.offset Int) (dll_circular_create_~head~0.offset Int)) (let ((.cse1 (select (store (select (let ((.cse2 (store |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) c_dll_circular_create_~new_head~0.base)))) (store .cse2 c_dll_circular_create_~last~0.base (store (select .cse2 c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.base))) c_dll_circular_create_~new_head~0.base) (+ v_dll_circular_create_~head~0.offset_55 4) c_dll_circular_create_~last~0.base) _destroy_in_nondeterministic_order_~head.offset))) (or (= c_dll_circular_create_~head~0.base .cse1) (and (not (= c_dll_circular_create_~new_head~0.base .cse1)) (= c_dll_circular_create_~last~0.base .cse1)))))) (< 0 _destroy_in_nondeterministic_order_~head.offset) (< _destroy_in_nondeterministic_order_~head.offset 0))) is different from false [2021-09-13 23:56:52,528 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_DEPENDING: Alternating quantifiers not yet supported [2021-09-13 23:56:52,528 INFO L186 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2021-09-13 23:56:52,528 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20] total 20 [2021-09-13 23:56:52,528 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [371885193] [2021-09-13 23:56:52,529 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 17 states have internal predecessors, (37), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 43 [2021-09-13 23:56:52,529 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:56:52,529 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 21 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 17 states have internal predecessors, (37), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:56:52,563 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:56:52,564 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2021-09-13 23:56:52,564 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 23:56:52,564 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2021-09-13 23:56:52,565 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=119, Invalid=1862, Unknown=7, NotChecked=174, Total=2162 [2021-09-13 23:56:52,565 INFO L87 Difference]: Start difference. First operand 97 states and 102 transitions. Second operand has 21 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 17 states have internal predecessors, (37), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:56:55,495 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:56:55,495 INFO L93 Difference]: Finished difference Result 100 states and 105 transitions. [2021-09-13 23:56:55,495 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2021-09-13 23:56:55,496 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 17 states have internal predecessors, (37), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 43 [2021-09-13 23:56:55,496 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:56:55,496 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 17 states have internal predecessors, (37), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:56:55,497 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 106 transitions. [2021-09-13 23:56:55,497 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 17 states have internal predecessors, (37), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:56:55,497 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 106 transitions. [2021-09-13 23:56:55,497 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states and 106 transitions. [2021-09-13 23:56:55,582 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:56:55,583 INFO L225 Difference]: With dead ends: 100 [2021-09-13 23:56:55,583 INFO L226 Difference]: Without dead ends: 100 [2021-09-13 23:56:55,584 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 43 SyntacticMatches, 2 SemanticMatches, 59 ConstructedPredicates, 2 IntricatePredicates, 0 DeprecatedPredicates, 391 ImplicationChecksByTransitivity, 35117.36ms TimeCoverageRelationStatistics Valid=248, Invalid=3175, Unknown=7, NotChecked=230, Total=3660 [2021-09-13 23:56:55,584 INFO L928 BasicCegarLoop]: 7 mSDtfsCounter, 101 mSDsluCounter, 613 mSDsCounter, 0 mSdLazyCounter, 1633 mSolverCounterSat, 40 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1172.91ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 101 SdHoareTripleChecker+Valid, 69 SdHoareTripleChecker+Invalid, 1673 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 4.01ms SdHoareTripleChecker+Time, 40 IncrementalHoareTripleChecker+Valid, 1633 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1181.71ms IncrementalHoareTripleChecker+Time [2021-09-13 23:56:55,584 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [101 Valid, 69 Invalid, 1673 Unknown, 0 Unchecked, 4.01ms Time], IncrementalHoareTripleChecker [40 Valid, 1633 Invalid, 0 Unknown, 0 Unchecked, 1181.71ms Time] [2021-09-13 23:56:55,585 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2021-09-13 23:56:55,586 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 96. [2021-09-13 23:56:55,586 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:56:55,586 INFO L82 GeneralOperation]: Start isEquivalent. First operand 100 states. Second operand has 96 states, 79 states have (on average 1.1898734177215189) internal successors, (94), 88 states have internal predecessors, (94), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:56:55,586 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand has 96 states, 79 states have (on average 1.1898734177215189) internal successors, (94), 88 states have internal predecessors, (94), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:56:55,586 INFO L87 Difference]: Start difference. First operand 100 states. Second operand has 96 states, 79 states have (on average 1.1898734177215189) internal successors, (94), 88 states have internal predecessors, (94), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:56:55,587 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:56:55,587 INFO L93 Difference]: Finished difference Result 100 states and 105 transitions. [2021-09-13 23:56:55,587 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 105 transitions. [2021-09-13 23:56:55,588 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:56:55,588 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:56:55,588 INFO L74 IsIncluded]: Start isIncluded. First operand has 96 states, 79 states have (on average 1.1898734177215189) internal successors, (94), 88 states have internal predecessors, (94), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 100 states. [2021-09-13 23:56:55,588 INFO L87 Difference]: Start difference. First operand has 96 states, 79 states have (on average 1.1898734177215189) internal successors, (94), 88 states have internal predecessors, (94), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 100 states. [2021-09-13 23:56:55,589 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:56:55,589 INFO L93 Difference]: Finished difference Result 100 states and 105 transitions. [2021-09-13 23:56:55,589 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 105 transitions. [2021-09-13 23:56:55,590 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:56:55,590 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:56:55,590 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:56:55,590 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:56:55,590 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 96 states, 79 states have (on average 1.1898734177215189) internal successors, (94), 88 states have internal predecessors, (94), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:56:55,591 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 101 transitions. [2021-09-13 23:56:55,591 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 101 transitions. Word has length 43 [2021-09-13 23:56:55,591 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:56:55,591 INFO L470 AbstractCegarLoop]: Abstraction has 96 states and 101 transitions. [2021-09-13 23:56:55,591 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 17 states have internal predecessors, (37), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:56:55,591 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 101 transitions. [2021-09-13 23:56:55,592 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2021-09-13 23:56:55,592 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:56:55,592 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 23:56:55,622 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2021-09-13 23:56:55,792 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable20,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 23:56:55,793 INFO L402 AbstractCegarLoop]: === Iteration 22 === Targeting _destroy_in_nondeterministic_orderErr30ASSERT_VIOLATIONMEMORY_FREE === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:56:55,793 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:56:55,793 INFO L82 PathProgramCache]: Analyzing trace with hash -694753286, now seen corresponding path program 1 times [2021-09-13 23:56:55,793 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 23:56:55,793 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [986480559] [2021-09-13 23:56:55,793 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:56:55,793 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 23:56:55,807 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:56:55,983 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2021-09-13 23:56:55,984 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:56:55,986 INFO L281 TraceCheckUtils]: 0: Hoare triple {12601#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {12566#true} is VALID [2021-09-13 23:56:55,986 INFO L281 TraceCheckUtils]: 1: Hoare triple {12566#true} assume true; {12566#true} is VALID [2021-09-13 23:56:55,986 INFO L276 TraceCheckUtils]: 2: Hoare quadruple {12566#true} {12566#true} #201#return; {12566#true} is VALID [2021-09-13 23:56:56,001 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2021-09-13 23:56:56,007 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:56:56,403 INFO L281 TraceCheckUtils]: 0: Hoare triple {12602#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {12603#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:56:56,403 INFO L281 TraceCheckUtils]: 1: Hoare triple {12603#(= dll_circular_create_~last~0.offset 0)} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {12603#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:56:56,404 INFO L281 TraceCheckUtils]: 2: Hoare triple {12603#(= dll_circular_create_~last~0.offset 0)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {12604#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:56:56,404 INFO L281 TraceCheckUtils]: 3: Hoare triple {12604#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {12604#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:56:56,404 INFO L281 TraceCheckUtils]: 4: Hoare triple {12604#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {12605#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:56:56,405 INFO L281 TraceCheckUtils]: 5: Hoare triple {12605#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {12606#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:56:56,405 INFO L281 TraceCheckUtils]: 6: Hoare triple {12606#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {12606#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:56:56,406 INFO L281 TraceCheckUtils]: 7: Hoare triple {12606#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {12607#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset 0) (not (= 0 (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-13 23:56:56,406 INFO L281 TraceCheckUtils]: 8: Hoare triple {12607#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset 0) (not (= 0 (select |#valid| dll_circular_create_~new_head~0.base))))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {12608#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0) (not (= 0 (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-13 23:56:56,407 INFO L281 TraceCheckUtils]: 9: Hoare triple {12608#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0) (not (= 0 (select |#valid| dll_circular_create_~new_head~0.base))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {12609#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (not (= (select |#valid| dll_circular_create_~head~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:56:56,407 INFO L281 TraceCheckUtils]: 10: Hoare triple {12609#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (not (= (select |#valid| dll_circular_create_~head~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {12610#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} is VALID [2021-09-13 23:56:56,408 INFO L281 TraceCheckUtils]: 11: Hoare triple {12610#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {12610#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} is VALID [2021-09-13 23:56:56,408 INFO L281 TraceCheckUtils]: 12: Hoare triple {12610#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {12611#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))))} is VALID [2021-09-13 23:56:56,409 INFO L281 TraceCheckUtils]: 13: Hoare triple {12611#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {12612#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) dll_circular_create_~last~0.base)))} is VALID [2021-09-13 23:56:56,409 INFO L281 TraceCheckUtils]: 14: Hoare triple {12612#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) dll_circular_create_~last~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {12613#(and (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~last~0.base)) (not (= dll_circular_create_~last~0.offset 1)))} is VALID [2021-09-13 23:56:56,410 INFO L281 TraceCheckUtils]: 15: Hoare triple {12613#(and (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~last~0.base)) (not (= dll_circular_create_~last~0.offset 1)))} assume !(~len > 1); {12613#(and (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~last~0.base)) (not (= dll_circular_create_~last~0.offset 1)))} is VALID [2021-09-13 23:56:56,410 INFO L281 TraceCheckUtils]: 16: Hoare triple {12613#(and (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~last~0.base)) (not (= dll_circular_create_~last~0.offset 1)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {12614#(and (not (= dll_circular_create_~last~0.base (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset))) (= dll_circular_create_~head~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1) (not (= dll_circular_create_~last~0.offset 1)))} is VALID [2021-09-13 23:56:56,437 INFO L281 TraceCheckUtils]: 17: Hoare triple {12614#(and (not (= dll_circular_create_~last~0.base (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset))) (= dll_circular_create_~head~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1) (not (= dll_circular_create_~last~0.offset 1)))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {12615#(and (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (= dll_circular_create_~head~0.offset 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4)) 1))} is VALID [2021-09-13 23:56:56,437 INFO L281 TraceCheckUtils]: 18: Hoare triple {12615#(and (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (= dll_circular_create_~head~0.offset 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4)) 1))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {12616#(and (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:56:56,437 INFO L281 TraceCheckUtils]: 19: Hoare triple {12616#(and (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} assume true; {12616#(and (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:56:56,438 INFO L276 TraceCheckUtils]: 20: Hoare quadruple {12616#(and (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} {12566#true} #197#return; {12592#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4)) 1) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|))) (= |main_#t~ret12.offset| 0))} is VALID [2021-09-13 23:56:56,439 INFO L264 TraceCheckUtils]: 0: Hoare triple {12566#true} call ULTIMATE.init(); {12601#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2021-09-13 23:56:56,439 INFO L281 TraceCheckUtils]: 1: Hoare triple {12601#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {12566#true} is VALID [2021-09-13 23:56:56,439 INFO L281 TraceCheckUtils]: 2: Hoare triple {12566#true} assume true; {12566#true} is VALID [2021-09-13 23:56:56,439 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {12566#true} {12566#true} #201#return; {12566#true} is VALID [2021-09-13 23:56:56,439 INFO L264 TraceCheckUtils]: 4: Hoare triple {12566#true} call #t~ret13 := main(); {12566#true} is VALID [2021-09-13 23:56:56,439 INFO L281 TraceCheckUtils]: 5: Hoare triple {12566#true} ~len~0 := 3; {12566#true} is VALID [2021-09-13 23:56:56,440 INFO L264 TraceCheckUtils]: 6: Hoare triple {12566#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {12602#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2021-09-13 23:56:56,440 INFO L281 TraceCheckUtils]: 7: Hoare triple {12602#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {12603#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:56:56,440 INFO L281 TraceCheckUtils]: 8: Hoare triple {12603#(= dll_circular_create_~last~0.offset 0)} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {12603#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:56:56,440 INFO L281 TraceCheckUtils]: 9: Hoare triple {12603#(= dll_circular_create_~last~0.offset 0)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {12604#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:56:56,441 INFO L281 TraceCheckUtils]: 10: Hoare triple {12604#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {12604#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:56:56,441 INFO L281 TraceCheckUtils]: 11: Hoare triple {12604#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {12605#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:56:56,442 INFO L281 TraceCheckUtils]: 12: Hoare triple {12605#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {12606#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:56:56,442 INFO L281 TraceCheckUtils]: 13: Hoare triple {12606#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {12606#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:56:56,442 INFO L281 TraceCheckUtils]: 14: Hoare triple {12606#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {12607#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset 0) (not (= 0 (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-13 23:56:56,443 INFO L281 TraceCheckUtils]: 15: Hoare triple {12607#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset 0) (not (= 0 (select |#valid| dll_circular_create_~new_head~0.base))))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {12608#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0) (not (= 0 (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-13 23:56:56,443 INFO L281 TraceCheckUtils]: 16: Hoare triple {12608#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0) (not (= 0 (select |#valid| dll_circular_create_~new_head~0.base))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {12609#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (not (= (select |#valid| dll_circular_create_~head~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:56:56,444 INFO L281 TraceCheckUtils]: 17: Hoare triple {12609#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (not (= (select |#valid| dll_circular_create_~head~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {12610#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} is VALID [2021-09-13 23:56:56,444 INFO L281 TraceCheckUtils]: 18: Hoare triple {12610#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {12610#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} is VALID [2021-09-13 23:56:56,445 INFO L281 TraceCheckUtils]: 19: Hoare triple {12610#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {12611#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))))} is VALID [2021-09-13 23:56:56,445 INFO L281 TraceCheckUtils]: 20: Hoare triple {12611#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {12612#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) dll_circular_create_~last~0.base)))} is VALID [2021-09-13 23:56:56,446 INFO L281 TraceCheckUtils]: 21: Hoare triple {12612#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) dll_circular_create_~last~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {12613#(and (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~last~0.base)) (not (= dll_circular_create_~last~0.offset 1)))} is VALID [2021-09-13 23:56:56,446 INFO L281 TraceCheckUtils]: 22: Hoare triple {12613#(and (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~last~0.base)) (not (= dll_circular_create_~last~0.offset 1)))} assume !(~len > 1); {12613#(and (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~last~0.base)) (not (= dll_circular_create_~last~0.offset 1)))} is VALID [2021-09-13 23:56:56,447 INFO L281 TraceCheckUtils]: 23: Hoare triple {12613#(and (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~last~0.base)) (not (= dll_circular_create_~last~0.offset 1)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {12614#(and (not (= dll_circular_create_~last~0.base (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset))) (= dll_circular_create_~head~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1) (not (= dll_circular_create_~last~0.offset 1)))} is VALID [2021-09-13 23:56:56,447 INFO L281 TraceCheckUtils]: 24: Hoare triple {12614#(and (not (= dll_circular_create_~last~0.base (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset))) (= dll_circular_create_~head~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1) (not (= dll_circular_create_~last~0.offset 1)))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {12615#(and (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (= dll_circular_create_~head~0.offset 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4)) 1))} is VALID [2021-09-13 23:56:56,448 INFO L281 TraceCheckUtils]: 25: Hoare triple {12615#(and (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (= dll_circular_create_~head~0.offset 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4)) 1))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {12616#(and (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:56:56,448 INFO L281 TraceCheckUtils]: 26: Hoare triple {12616#(and (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} assume true; {12616#(and (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:56:56,449 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {12616#(and (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} {12566#true} #197#return; {12592#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4)) 1) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|))) (= |main_#t~ret12.offset| 0))} is VALID [2021-09-13 23:56:56,449 INFO L281 TraceCheckUtils]: 28: Hoare triple {12592#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4)) 1) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|))) (= |main_#t~ret12.offset| 0))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {12593#(and (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset) (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))) (= (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)) 1) (= 0 main_~head~1.offset))} is VALID [2021-09-13 23:56:56,450 INFO L264 TraceCheckUtils]: 29: Hoare triple {12593#(and (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset) (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))) (= (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)) 1) (= 0 main_~head~1.offset))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {12594#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)) 1) (= |_destroy_in_nondeterministic_order_#in~head.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|) (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))))} is VALID [2021-09-13 23:56:56,450 INFO L281 TraceCheckUtils]: 30: Hoare triple {12594#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)) 1) (= |_destroy_in_nondeterministic_order_#in~head.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|) (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {12595#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4))) 1) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)))))} is VALID [2021-09-13 23:56:56,450 INFO L281 TraceCheckUtils]: 31: Hoare triple {12595#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4))) 1) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)))))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, 4 + ~head.offset, 4); srcloc: L586 {12596#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (= (select |#valid| |_destroy_in_nondeterministic_order_#t~mem5.base|) 1) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) |_destroy_in_nondeterministic_order_#t~mem5.base|)))} is VALID [2021-09-13 23:56:56,451 INFO L281 TraceCheckUtils]: 32: Hoare triple {12596#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (= (select |#valid| |_destroy_in_nondeterministic_order_#t~mem5.base|) 1) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) |_destroy_in_nondeterministic_order_#t~mem5.base|)))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {12597#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) _destroy_in_nondeterministic_order_~pred~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1))} is VALID [2021-09-13 23:56:56,451 INFO L281 TraceCheckUtils]: 33: Hoare triple {12597#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) _destroy_in_nondeterministic_order_~pred~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4); srcloc: L587 {12598#(and (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1) (not (= _destroy_in_nondeterministic_order_~pred~0.base |_destroy_in_nondeterministic_order_#t~mem6.base|)))} is VALID [2021-09-13 23:56:56,452 INFO L281 TraceCheckUtils]: 34: Hoare triple {12598#(and (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1) (not (= _destroy_in_nondeterministic_order_~pred~0.base |_destroy_in_nondeterministic_order_#t~mem6.base|)))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647; {12599#(= (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:56,452 INFO L281 TraceCheckUtils]: 35: Hoare triple {12599#(= (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume !(0 != #t~nondet7);havoc #t~nondet7;assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {12599#(= (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:56,452 INFO L281 TraceCheckUtils]: 36: Hoare triple {12599#(= (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume 0 != #t~nondet9;havoc #t~nondet9; {12599#(= (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:56,452 INFO L281 TraceCheckUtils]: 37: Hoare triple {12599#(= (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume 0 == ~succ~0.offset; {12599#(= (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:56,453 INFO L281 TraceCheckUtils]: 38: Hoare triple {12599#(= (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume ~succ~0.base < #StackHeapBarrier; {12599#(= (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:56,453 INFO L281 TraceCheckUtils]: 39: Hoare triple {12599#(= (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume 0 == ~succ~0.base || 1 == #valid[~succ~0.base];call ULTIMATE.dealloc(~succ~0.base, ~succ~0.offset);assume -2147483648 <= #t~nondet10 && #t~nondet10 <= 2147483647; {12600#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:56,453 INFO L281 TraceCheckUtils]: 40: Hoare triple {12600#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume !(0 != #t~nondet10);havoc #t~nondet10; {12600#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:56,454 INFO L281 TraceCheckUtils]: 41: Hoare triple {12600#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume 0 == ~pred~0.offset; {12600#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:56,455 INFO L281 TraceCheckUtils]: 42: Hoare triple {12600#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume ~pred~0.base < #StackHeapBarrier; {12600#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:56,455 INFO L281 TraceCheckUtils]: 43: Hoare triple {12600#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume !(0 == ~pred~0.base || 1 == #valid[~pred~0.base]); {12567#false} is VALID [2021-09-13 23:56:56,455 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:56:56,455 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 23:56:56,456 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [986480559] [2021-09-13 23:56:56,456 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [986480559] provided 0 perfect and 1 imperfect interpolant sequences [2021-09-13 23:56:56,456 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1371138476] [2021-09-13 23:56:56,456 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:56:56,456 INFO L170 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 23:56:56,456 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-09-13 23:56:56,457 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2021-09-13 23:56:56,458 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2021-09-13 23:56:56,540 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:56:56,541 INFO L263 TraceCheckSpWp]: Trace formula consists of 206 conjuncts, 56 conjunts are in the unsatisfiable core [2021-09-13 23:56:56,549 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:56:56,551 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 23:56:56,565 INFO L388 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 [2021-09-13 23:56:56,621 INFO L354 Elim1Store]: treesize reduction 18, result has 35.7 percent of original size [2021-09-13 23:56:56,622 INFO L388 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 [2021-09-13 23:56:56,746 INFO L354 Elim1Store]: treesize reduction 8, result has 52.9 percent of original size [2021-09-13 23:56:56,747 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 16 treesize of output 18 [2021-09-13 23:56:56,802 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2021-09-13 23:56:56,852 INFO L354 Elim1Store]: treesize reduction 29, result has 19.4 percent of original size [2021-09-13 23:56:56,853 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 38 treesize of output 28 [2021-09-13 23:56:56,998 INFO L354 Elim1Store]: treesize reduction 45, result has 16.7 percent of original size [2021-09-13 23:56:56,998 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 41 treesize of output 38 [2021-09-13 23:56:57,126 INFO L190 IndexEqualityManager]: detected not equals via solver [2021-09-13 23:56:57,137 INFO L354 Elim1Store]: treesize reduction 102, result has 14.3 percent of original size [2021-09-13 23:56:57,137 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 5 case distinctions, treesize of input 59 treesize of output 59 [2021-09-13 23:56:58,153 INFO L354 Elim1Store]: treesize reduction 66, result has 1.5 percent of original size [2021-09-13 23:56:58,154 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 1 disjoint index pairs (out of 6 index pairs), introduced 6 new quantified variables, introduced 6 case distinctions, treesize of input 76 treesize of output 36 [2021-09-13 23:56:58,203 INFO L354 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2021-09-13 23:56:58,203 INFO L388 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 16 treesize of output 18 [2021-09-13 23:56:58,276 INFO L264 TraceCheckUtils]: 0: Hoare triple {12566#true} call ULTIMATE.init(); {12566#true} is VALID [2021-09-13 23:56:58,277 INFO L281 TraceCheckUtils]: 1: Hoare triple {12566#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {12566#true} is VALID [2021-09-13 23:56:58,277 INFO L281 TraceCheckUtils]: 2: Hoare triple {12566#true} assume true; {12566#true} is VALID [2021-09-13 23:56:58,277 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {12566#true} {12566#true} #201#return; {12566#true} is VALID [2021-09-13 23:56:58,277 INFO L264 TraceCheckUtils]: 4: Hoare triple {12566#true} call #t~ret13 := main(); {12566#true} is VALID [2021-09-13 23:56:58,277 INFO L281 TraceCheckUtils]: 5: Hoare triple {12566#true} ~len~0 := 3; {12566#true} is VALID [2021-09-13 23:56:58,277 INFO L264 TraceCheckUtils]: 6: Hoare triple {12566#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {12566#true} is VALID [2021-09-13 23:56:58,278 INFO L281 TraceCheckUtils]: 7: Hoare triple {12566#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {12641#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:56:58,278 INFO L281 TraceCheckUtils]: 8: Hoare triple {12641#(= (select |#valid| dll_circular_create_~last~0.base) 1)} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {12641#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:56:58,278 INFO L281 TraceCheckUtils]: 9: Hoare triple {12641#(= (select |#valid| dll_circular_create_~last~0.base) 1)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {12641#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:56:58,278 INFO L281 TraceCheckUtils]: 10: Hoare triple {12641#(= (select |#valid| dll_circular_create_~last~0.base) 1)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {12641#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:56:58,279 INFO L281 TraceCheckUtils]: 11: Hoare triple {12641#(= (select |#valid| dll_circular_create_~last~0.base) 1)} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {12654#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:56:58,280 INFO L281 TraceCheckUtils]: 12: Hoare triple {12654#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= (select |#valid| dll_circular_create_~last~0.base) 1))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {12658#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:56:58,280 INFO L281 TraceCheckUtils]: 13: Hoare triple {12658#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {12658#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:56:58,280 INFO L281 TraceCheckUtils]: 14: Hoare triple {12658#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {12658#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:56:58,281 INFO L281 TraceCheckUtils]: 15: Hoare triple {12658#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {12668#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:56:58,281 INFO L281 TraceCheckUtils]: 16: Hoare triple {12668#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {12672#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:56:58,282 INFO L281 TraceCheckUtils]: 17: Hoare triple {12672#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= (select |#valid| dll_circular_create_~last~0.base) 1))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {12676#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)))} is VALID [2021-09-13 23:56:58,282 INFO L281 TraceCheckUtils]: 18: Hoare triple {12676#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {12676#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)))} is VALID [2021-09-13 23:56:58,283 INFO L281 TraceCheckUtils]: 19: Hoare triple {12676#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {12683#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} is VALID [2021-09-13 23:56:58,284 INFO L281 TraceCheckUtils]: 20: Hoare triple {12683#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {12687#(and (exists ((dll_circular_create_~head~0.offset Int)) (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (+ dll_circular_create_~head~0.offset 4)))) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) dll_circular_create_~last~0.base)))} is VALID [2021-09-13 23:56:58,284 INFO L281 TraceCheckUtils]: 21: Hoare triple {12687#(and (exists ((dll_circular_create_~head~0.offset Int)) (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (+ dll_circular_create_~head~0.offset 4)))) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) dll_circular_create_~last~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {12691#(and (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0) dll_circular_create_~last~0.base)) (exists ((v_dll_circular_create_~head~0.offset_56 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_56 4)))) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:56:58,285 INFO L281 TraceCheckUtils]: 22: Hoare triple {12691#(and (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0) dll_circular_create_~last~0.base)) (exists ((v_dll_circular_create_~head~0.offset_56 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_56 4)))) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} assume !(~len > 1); {12691#(and (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0) dll_circular_create_~last~0.base)) (exists ((v_dll_circular_create_~head~0.offset_56 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_56 4)))) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:56:58,287 INFO L281 TraceCheckUtils]: 23: Hoare triple {12691#(and (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0) dll_circular_create_~last~0.base)) (exists ((v_dll_circular_create_~head~0.offset_56 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_56 4)))) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {12698#(and (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0) dll_circular_create_~last~0.base)) (exists ((v_dll_circular_create_~head~0.offset_56 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_56 4)))) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1) (exists ((dll_circular_create_~last~0.offset Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset))))} is VALID [2021-09-13 23:56:58,288 INFO L281 TraceCheckUtils]: 24: Hoare triple {12698#(and (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0) dll_circular_create_~last~0.base)) (exists ((v_dll_circular_create_~head~0.offset_56 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_56 4)))) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1) (exists ((dll_circular_create_~last~0.offset Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {12702#(and (exists ((v_dll_circular_create_~head~0.offset_56 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_56 4)))) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (= dll_circular_create_~head~0.offset 0) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4)))) (exists ((dll_circular_create_~last~0.offset Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset))) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0) (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4)))) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4))) 1))} is VALID [2021-09-13 23:56:58,289 INFO L281 TraceCheckUtils]: 25: Hoare triple {12702#(and (exists ((v_dll_circular_create_~head~0.offset_56 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_56 4)))) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (= dll_circular_create_~head~0.offset 0) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4)))) (exists ((dll_circular_create_~last~0.offset Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset))) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0) (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4)))) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4))) 1))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {12706#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4))) 1) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4)))) (exists ((dll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4)))) (exists ((v_dll_circular_create_~head~0.offset_56 Int)) (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0)) (+ v_dll_circular_create_~head~0.offset_56 4)))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:56:58,290 INFO L281 TraceCheckUtils]: 26: Hoare triple {12706#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4))) 1) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4)))) (exists ((dll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4)))) (exists ((v_dll_circular_create_~head~0.offset_56 Int)) (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0)) (+ v_dll_circular_create_~head~0.offset_56 4)))) (= |dll_circular_create_#res.offset| 0))} assume true; {12706#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4))) 1) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4)))) (exists ((dll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4)))) (exists ((v_dll_circular_create_~head~0.offset_56 Int)) (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0)) (+ v_dll_circular_create_~head~0.offset_56 4)))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:56:58,291 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {12706#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4))) 1) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4)))) (exists ((dll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ |dll_circular_create_#res.offset| 4)))) (exists ((v_dll_circular_create_~head~0.offset_56 Int)) (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0)) (+ v_dll_circular_create_~head~0.offset_56 4)))) (= |dll_circular_create_#res.offset| 0))} {12566#true} #197#return; {12713#(and (exists ((v_dll_circular_create_~head~0.offset_56 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0)) (+ v_dll_circular_create_~head~0.offset_56 4)) |main_#t~ret12.base|)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (+ 4 |main_#t~ret12.offset|))) 1) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (+ 4 |main_#t~ret12.offset|)) |main_#t~ret12.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0) |main_#t~ret12.base|)) (= |main_#t~ret12.offset| 0) (exists ((dll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (+ 4 |main_#t~ret12.offset|))) dll_circular_create_~last~0.offset) |main_#t~ret12.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (+ 4 |main_#t~ret12.offset|)) (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0))))} is VALID [2021-09-13 23:56:58,292 INFO L281 TraceCheckUtils]: 28: Hoare triple {12713#(and (exists ((v_dll_circular_create_~head~0.offset_56 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0)) (+ v_dll_circular_create_~head~0.offset_56 4)) |main_#t~ret12.base|)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (+ 4 |main_#t~ret12.offset|))) 1) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (+ 4 |main_#t~ret12.offset|)) |main_#t~ret12.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0) |main_#t~ret12.base|)) (= |main_#t~ret12.offset| 0) (exists ((dll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (+ 4 |main_#t~ret12.offset|))) dll_circular_create_~last~0.offset) |main_#t~ret12.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (+ 4 |main_#t~ret12.offset|)) (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0))))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {12717#(and (exists ((v_dll_circular_create_~head~0.offset_56 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) 0)) (+ v_dll_circular_create_~head~0.offset_56 4)) main_~head~1.base)) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) 0) main_~head~1.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)) 1) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) 0) (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= main_~head~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)) dll_circular_create_~last~0.offset))) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))) (= 0 main_~head~1.offset))} is VALID [2021-09-13 23:56:58,293 INFO L264 TraceCheckUtils]: 29: Hoare triple {12717#(and (exists ((v_dll_circular_create_~head~0.offset_56 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) 0)) (+ v_dll_circular_create_~head~0.offset_56 4)) main_~head~1.base)) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) 0) main_~head~1.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)) 1) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) 0) (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= main_~head~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)) dll_circular_create_~last~0.offset))) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))) (= 0 main_~head~1.offset))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {12721#(and (exists ((v_dll_circular_create_~head~0.offset_56 Int)) (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0)) (+ v_dll_circular_create_~head~0.offset_56 4)))) (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)) 1) (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)) dll_circular_create_~last~0.offset))) (= |_destroy_in_nondeterministic_order_#in~head.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0) (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))))} is VALID [2021-09-13 23:56:58,294 INFO L281 TraceCheckUtils]: 30: Hoare triple {12721#(and (exists ((v_dll_circular_create_~head~0.offset_56 Int)) (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0)) (+ v_dll_circular_create_~head~0.offset_56 4)))) (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)) 1) (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)) dll_circular_create_~last~0.offset))) (= |_destroy_in_nondeterministic_order_#in~head.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0) (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {12725#(and (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_56 Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_56 4)))) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} is VALID [2021-09-13 23:56:58,294 INFO L281 TraceCheckUtils]: 31: Hoare triple {12725#(and (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_56 Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_56 4)))) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, 4 + ~head.offset, 4); srcloc: L586 {12729#(and (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)) |_destroy_in_nondeterministic_order_#t~mem5.base|) (exists ((v_dll_circular_create_~head~0.offset_56 Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_56 4)))) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} is VALID [2021-09-13 23:56:58,295 INFO L281 TraceCheckUtils]: 32: Hoare triple {12729#(and (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)) |_destroy_in_nondeterministic_order_#t~mem5.base|) (exists ((v_dll_circular_create_~head~0.offset_56 Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_56 4)))) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {12733#(and (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)) _destroy_in_nondeterministic_order_~pred~0.base) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_56 Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_56 4)))) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} is VALID [2021-09-13 23:56:58,295 INFO L281 TraceCheckUtils]: 33: Hoare triple {12733#(and (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)) _destroy_in_nondeterministic_order_~pred~0.base) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_56 Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_56 4)))) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4); srcloc: L587 {12598#(and (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1) (not (= _destroy_in_nondeterministic_order_~pred~0.base |_destroy_in_nondeterministic_order_#t~mem6.base|)))} is VALID [2021-09-13 23:56:58,296 INFO L281 TraceCheckUtils]: 34: Hoare triple {12598#(and (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1) (not (= _destroy_in_nondeterministic_order_~pred~0.base |_destroy_in_nondeterministic_order_#t~mem6.base|)))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647; {12599#(= (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:58,296 INFO L281 TraceCheckUtils]: 35: Hoare triple {12599#(= (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume !(0 != #t~nondet7);havoc #t~nondet7;assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {12599#(= (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:58,296 INFO L281 TraceCheckUtils]: 36: Hoare triple {12599#(= (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume 0 != #t~nondet9;havoc #t~nondet9; {12599#(= (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:58,297 INFO L281 TraceCheckUtils]: 37: Hoare triple {12599#(= (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume 0 == ~succ~0.offset; {12599#(= (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:58,297 INFO L281 TraceCheckUtils]: 38: Hoare triple {12599#(= (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume ~succ~0.base < #StackHeapBarrier; {12599#(= (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:56:58,297 INFO L281 TraceCheckUtils]: 39: Hoare triple {12599#(= (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume 0 == ~succ~0.base || 1 == #valid[~succ~0.base];call ULTIMATE.dealloc(~succ~0.base, ~succ~0.offset);assume -2147483648 <= #t~nondet10 && #t~nondet10 <= 2147483647; {12755#(and (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1) (exists ((_destroy_in_nondeterministic_order_~succ~0.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0)))} is VALID [2021-09-13 23:56:58,298 INFO L281 TraceCheckUtils]: 40: Hoare triple {12755#(and (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1) (exists ((_destroy_in_nondeterministic_order_~succ~0.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0)))} assume !(0 != #t~nondet10);havoc #t~nondet10; {12755#(and (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1) (exists ((_destroy_in_nondeterministic_order_~succ~0.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0)))} is VALID [2021-09-13 23:56:58,298 INFO L281 TraceCheckUtils]: 41: Hoare triple {12755#(and (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1) (exists ((_destroy_in_nondeterministic_order_~succ~0.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0)))} assume 0 == ~pred~0.offset; {12755#(and (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1) (exists ((_destroy_in_nondeterministic_order_~succ~0.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0)))} is VALID [2021-09-13 23:56:58,298 INFO L281 TraceCheckUtils]: 42: Hoare triple {12755#(and (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1) (exists ((_destroy_in_nondeterministic_order_~succ~0.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0)))} assume ~pred~0.base < #StackHeapBarrier; {12755#(and (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1) (exists ((_destroy_in_nondeterministic_order_~succ~0.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0)))} is VALID [2021-09-13 23:56:58,299 INFO L281 TraceCheckUtils]: 43: Hoare triple {12755#(and (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1) (exists ((_destroy_in_nondeterministic_order_~succ~0.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0)))} assume !(0 == ~pred~0.base || 1 == #valid[~pred~0.base]); {12567#false} is VALID [2021-09-13 23:56:58,299 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:56:58,299 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 23:56:58,982 WARN L870 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2021-09-13 23:56:59,302 INFO L388 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 6 treesize of output 4 [2021-09-13 23:56:59,734 WARN L838 $PredicateComparison]: unable to prove that (forall ((dll_circular_create_~last~0.offset Int)) (not (= c_dll_circular_create_~last~0.base (select (store (select (store |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~head~0.base)) c_dll_circular_create_~head~0.base) (+ c_dll_circular_create_~head~0.offset 4) c_dll_circular_create_~last~0.base) c_dll_circular_create_~head~0.offset)))) is different from false [2021-09-13 23:57:00,239 WARN L838 $PredicateComparison]: unable to prove that (forall ((dll_circular_create_~last~0.offset Int)) (not (= c_dll_circular_create_~last~0.base (select (store (select (store |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.base)) c_dll_circular_create_~new_head~0.base) (+ c_dll_circular_create_~new_head~0.offset 4) c_dll_circular_create_~last~0.base) c_dll_circular_create_~new_head~0.offset)))) is different from false [2021-09-13 23:57:00,951 WARN L838 $PredicateComparison]: unable to prove that (forall ((dll_circular_create_~last~0.offset Int) (dll_circular_create_~head~0.offset Int)) (not (= c_dll_circular_create_~last~0.base (select (store (select (let ((.cse0 (store |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) c_dll_circular_create_~new_head~0.base)))) (store .cse0 c_dll_circular_create_~last~0.base (store (select .cse0 c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.base))) c_dll_circular_create_~new_head~0.base) (+ c_dll_circular_create_~new_head~0.offset 4) c_dll_circular_create_~last~0.base) c_dll_circular_create_~new_head~0.offset)))) is different from false [2021-09-13 23:57:01,016 INFO L354 Elim1Store]: treesize reduction 83, result has 30.8 percent of original size [2021-09-13 23:57:01,016 INFO L388 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 3 case distinctions, treesize of input 73 treesize of output 50 [2021-09-13 23:57:01,039 INFO L354 Elim1Store]: treesize reduction 8, result has 68.0 percent of original size [2021-09-13 23:57:01,040 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 50 treesize of output 58 [2021-09-13 23:57:01,096 INFO L388 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 8 treesize of output 4 [2021-09-13 23:57:01,104 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_DEPENDING: Alternating quantifiers not yet supported [2021-09-13 23:57:01,104 INFO L186 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2021-09-13 23:57:01,104 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [26] total 26 [2021-09-13 23:57:01,104 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1502910671] [2021-09-13 23:57:01,104 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 25 states have (on average 1.52) internal successors, (38), 23 states have internal predecessors, (38), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 44 [2021-09-13 23:57:01,104 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:57:01,105 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 27 states, 25 states have (on average 1.52) internal successors, (38), 23 states have internal predecessors, (38), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:57:01,139 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:57:01,139 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2021-09-13 23:57:01,139 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 23:57:01,140 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2021-09-13 23:57:01,140 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=177, Invalid=2802, Unknown=3, NotChecked=324, Total=3306 [2021-09-13 23:57:01,140 INFO L87 Difference]: Start difference. First operand 96 states and 101 transitions. Second operand has 27 states, 25 states have (on average 1.52) internal successors, (38), 23 states have internal predecessors, (38), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:57:04,342 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:57:04,342 INFO L93 Difference]: Finished difference Result 99 states and 104 transitions. [2021-09-13 23:57:04,342 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2021-09-13 23:57:04,342 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 25 states have (on average 1.52) internal successors, (38), 23 states have internal predecessors, (38), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 44 [2021-09-13 23:57:04,343 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:57:04,343 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 25 states have (on average 1.52) internal successors, (38), 23 states have internal predecessors, (38), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:57:04,344 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 105 transitions. [2021-09-13 23:57:04,344 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 25 states have (on average 1.52) internal successors, (38), 23 states have internal predecessors, (38), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:57:04,344 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 105 transitions. [2021-09-13 23:57:04,345 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states and 105 transitions. [2021-09-13 23:57:04,431 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:57:04,432 INFO L225 Difference]: With dead ends: 99 [2021-09-13 23:57:04,432 INFO L226 Difference]: Without dead ends: 99 [2021-09-13 23:57:04,433 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 114 GetRequests, 38 SyntacticMatches, 2 SemanticMatches, 74 ConstructedPredicates, 3 IntricatePredicates, 0 DeprecatedPredicates, 1229 ImplicationChecksByTransitivity, 3651.31ms TimeCoverageRelationStatistics Valid=383, Invalid=4882, Unknown=3, NotChecked=432, Total=5700 [2021-09-13 23:57:04,433 INFO L928 BasicCegarLoop]: 7 mSDtfsCounter, 125 mSDsluCounter, 629 mSDsCounter, 0 mSdLazyCounter, 1868 mSolverCounterSat, 51 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1259.90ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 125 SdHoareTripleChecker+Valid, 70 SdHoareTripleChecker+Invalid, 1919 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 3.97ms SdHoareTripleChecker+Time, 51 IncrementalHoareTripleChecker+Valid, 1868 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1270.19ms IncrementalHoareTripleChecker+Time [2021-09-13 23:57:04,434 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [125 Valid, 70 Invalid, 1919 Unknown, 0 Unchecked, 3.97ms Time], IncrementalHoareTripleChecker [51 Valid, 1868 Invalid, 0 Unknown, 0 Unchecked, 1270.19ms Time] [2021-09-13 23:57:04,434 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 99 states. [2021-09-13 23:57:04,435 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 99 to 95. [2021-09-13 23:57:04,435 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:57:04,435 INFO L82 GeneralOperation]: Start isEquivalent. First operand 99 states. Second operand has 95 states, 79 states have (on average 1.1772151898734178) internal successors, (93), 87 states have internal predecessors, (93), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:57:04,435 INFO L74 IsIncluded]: Start isIncluded. First operand 99 states. Second operand has 95 states, 79 states have (on average 1.1772151898734178) internal successors, (93), 87 states have internal predecessors, (93), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:57:04,435 INFO L87 Difference]: Start difference. First operand 99 states. Second operand has 95 states, 79 states have (on average 1.1772151898734178) internal successors, (93), 87 states have internal predecessors, (93), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:57:04,436 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:57:04,436 INFO L93 Difference]: Finished difference Result 99 states and 104 transitions. [2021-09-13 23:57:04,437 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 104 transitions. [2021-09-13 23:57:04,437 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:57:04,437 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:57:04,437 INFO L74 IsIncluded]: Start isIncluded. First operand has 95 states, 79 states have (on average 1.1772151898734178) internal successors, (93), 87 states have internal predecessors, (93), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 99 states. [2021-09-13 23:57:04,437 INFO L87 Difference]: Start difference. First operand has 95 states, 79 states have (on average 1.1772151898734178) internal successors, (93), 87 states have internal predecessors, (93), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 99 states. [2021-09-13 23:57:04,438 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:57:04,438 INFO L93 Difference]: Finished difference Result 99 states and 104 transitions. [2021-09-13 23:57:04,438 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 104 transitions. [2021-09-13 23:57:04,438 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:57:04,438 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:57:04,438 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:57:04,438 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:57:04,438 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 95 states, 79 states have (on average 1.1772151898734178) internal successors, (93), 87 states have internal predecessors, (93), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:57:04,439 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 100 transitions. [2021-09-13 23:57:04,439 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 100 transitions. Word has length 44 [2021-09-13 23:57:04,439 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:57:04,439 INFO L470 AbstractCegarLoop]: Abstraction has 95 states and 100 transitions. [2021-09-13 23:57:04,439 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 27 states, 25 states have (on average 1.52) internal successors, (38), 23 states have internal predecessors, (38), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:57:04,439 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 100 transitions. [2021-09-13 23:57:04,440 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2021-09-13 23:57:04,440 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:57:04,440 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 23:57:04,459 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2021-09-13 23:57:04,655 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable21 [2021-09-13 23:57:04,656 INFO L402 AbstractCegarLoop]: === Iteration 23 === Targeting _destroy_in_nondeterministic_orderErr24ASSERT_VIOLATIONMEMORY_FREE === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:57:04,656 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:57:04,656 INFO L82 PathProgramCache]: Analyzing trace with hash -695184262, now seen corresponding path program 1 times [2021-09-13 23:57:04,656 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 23:57:04,656 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [469265001] [2021-09-13 23:57:04,656 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:57:04,657 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 23:57:04,670 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:57:04,768 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2021-09-13 23:57:04,769 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:57:04,771 INFO L281 TraceCheckUtils]: 0: Hoare triple {13319#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {13285#true} is VALID [2021-09-13 23:57:04,771 INFO L281 TraceCheckUtils]: 1: Hoare triple {13285#true} assume true; {13285#true} is VALID [2021-09-13 23:57:04,771 INFO L276 TraceCheckUtils]: 2: Hoare quadruple {13285#true} {13285#true} #201#return; {13285#true} is VALID [2021-09-13 23:57:04,784 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2021-09-13 23:57:04,790 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:57:05,020 INFO L281 TraceCheckUtils]: 0: Hoare triple {13320#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {13285#true} is VALID [2021-09-13 23:57:05,020 INFO L281 TraceCheckUtils]: 1: Hoare triple {13285#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {13285#true} is VALID [2021-09-13 23:57:05,020 INFO L281 TraceCheckUtils]: 2: Hoare triple {13285#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {13285#true} is VALID [2021-09-13 23:57:05,020 INFO L281 TraceCheckUtils]: 3: Hoare triple {13285#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {13285#true} is VALID [2021-09-13 23:57:05,021 INFO L281 TraceCheckUtils]: 4: Hoare triple {13285#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {13321#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:05,021 INFO L281 TraceCheckUtils]: 5: Hoare triple {13321#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {13321#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:05,022 INFO L281 TraceCheckUtils]: 6: Hoare triple {13321#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {13321#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:05,022 INFO L281 TraceCheckUtils]: 7: Hoare triple {13321#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {13322#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:57:05,023 INFO L281 TraceCheckUtils]: 8: Hoare triple {13322#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {13323#(and (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:57:05,023 INFO L281 TraceCheckUtils]: 9: Hoare triple {13323#(and (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {13324#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:57:05,024 INFO L281 TraceCheckUtils]: 10: Hoare triple {13324#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (= (select |#valid| dll_circular_create_~last~0.base) 1))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {13325#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:05,024 INFO L281 TraceCheckUtils]: 11: Hoare triple {13325#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {13325#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:05,025 INFO L281 TraceCheckUtils]: 12: Hoare triple {13325#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {13326#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~head~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} is VALID [2021-09-13 23:57:05,025 INFO L281 TraceCheckUtils]: 13: Hoare triple {13326#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~head~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {13327#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))))} is VALID [2021-09-13 23:57:05,026 INFO L281 TraceCheckUtils]: 14: Hoare triple {13327#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {13328#(not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base))} is VALID [2021-09-13 23:57:05,026 INFO L281 TraceCheckUtils]: 15: Hoare triple {13328#(not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base))} assume !(~len > 1); {13328#(not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base))} is VALID [2021-09-13 23:57:05,027 INFO L281 TraceCheckUtils]: 16: Hoare triple {13328#(not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {13329#(not (= dll_circular_create_~head~0.base (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset)))} is VALID [2021-09-13 23:57:05,028 INFO L281 TraceCheckUtils]: 17: Hoare triple {13329#(not (= dll_circular_create_~head~0.base (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset)))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {13329#(not (= dll_circular_create_~head~0.base (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset)))} is VALID [2021-09-13 23:57:05,028 INFO L281 TraceCheckUtils]: 18: Hoare triple {13329#(not (= dll_circular_create_~head~0.base (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {13330#(not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)))} is VALID [2021-09-13 23:57:05,028 INFO L281 TraceCheckUtils]: 19: Hoare triple {13330#(not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)))} assume true; {13330#(not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)))} is VALID [2021-09-13 23:57:05,029 INFO L276 TraceCheckUtils]: 20: Hoare quadruple {13330#(not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)))} {13285#true} #197#return; {13311#(not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|) |main_#t~ret12.base|))} is VALID [2021-09-13 23:57:05,030 INFO L264 TraceCheckUtils]: 0: Hoare triple {13285#true} call ULTIMATE.init(); {13319#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2021-09-13 23:57:05,030 INFO L281 TraceCheckUtils]: 1: Hoare triple {13319#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {13285#true} is VALID [2021-09-13 23:57:05,030 INFO L281 TraceCheckUtils]: 2: Hoare triple {13285#true} assume true; {13285#true} is VALID [2021-09-13 23:57:05,030 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {13285#true} {13285#true} #201#return; {13285#true} is VALID [2021-09-13 23:57:05,030 INFO L264 TraceCheckUtils]: 4: Hoare triple {13285#true} call #t~ret13 := main(); {13285#true} is VALID [2021-09-13 23:57:05,030 INFO L281 TraceCheckUtils]: 5: Hoare triple {13285#true} ~len~0 := 3; {13285#true} is VALID [2021-09-13 23:57:05,031 INFO L264 TraceCheckUtils]: 6: Hoare triple {13285#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {13320#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2021-09-13 23:57:05,031 INFO L281 TraceCheckUtils]: 7: Hoare triple {13320#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {13285#true} is VALID [2021-09-13 23:57:05,031 INFO L281 TraceCheckUtils]: 8: Hoare triple {13285#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {13285#true} is VALID [2021-09-13 23:57:05,031 INFO L281 TraceCheckUtils]: 9: Hoare triple {13285#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {13285#true} is VALID [2021-09-13 23:57:05,031 INFO L281 TraceCheckUtils]: 10: Hoare triple {13285#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {13285#true} is VALID [2021-09-13 23:57:05,031 INFO L281 TraceCheckUtils]: 11: Hoare triple {13285#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {13321#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:05,032 INFO L281 TraceCheckUtils]: 12: Hoare triple {13321#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {13321#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:05,032 INFO L281 TraceCheckUtils]: 13: Hoare triple {13321#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {13321#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:05,032 INFO L281 TraceCheckUtils]: 14: Hoare triple {13321#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {13322#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:57:05,033 INFO L281 TraceCheckUtils]: 15: Hoare triple {13322#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {13323#(and (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:57:05,033 INFO L281 TraceCheckUtils]: 16: Hoare triple {13323#(and (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {13324#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:57:05,034 INFO L281 TraceCheckUtils]: 17: Hoare triple {13324#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (= (select |#valid| dll_circular_create_~last~0.base) 1))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {13325#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:05,034 INFO L281 TraceCheckUtils]: 18: Hoare triple {13325#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {13325#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:05,035 INFO L281 TraceCheckUtils]: 19: Hoare triple {13325#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {13326#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~head~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} is VALID [2021-09-13 23:57:05,036 INFO L281 TraceCheckUtils]: 20: Hoare triple {13326#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~head~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {13327#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))))} is VALID [2021-09-13 23:57:05,036 INFO L281 TraceCheckUtils]: 21: Hoare triple {13327#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {13328#(not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base))} is VALID [2021-09-13 23:57:05,037 INFO L281 TraceCheckUtils]: 22: Hoare triple {13328#(not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base))} assume !(~len > 1); {13328#(not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base))} is VALID [2021-09-13 23:57:05,037 INFO L281 TraceCheckUtils]: 23: Hoare triple {13328#(not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {13329#(not (= dll_circular_create_~head~0.base (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset)))} is VALID [2021-09-13 23:57:05,038 INFO L281 TraceCheckUtils]: 24: Hoare triple {13329#(not (= dll_circular_create_~head~0.base (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset)))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {13329#(not (= dll_circular_create_~head~0.base (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset)))} is VALID [2021-09-13 23:57:05,038 INFO L281 TraceCheckUtils]: 25: Hoare triple {13329#(not (= dll_circular_create_~head~0.base (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {13330#(not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)))} is VALID [2021-09-13 23:57:05,038 INFO L281 TraceCheckUtils]: 26: Hoare triple {13330#(not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)))} assume true; {13330#(not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)))} is VALID [2021-09-13 23:57:05,039 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {13330#(not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)))} {13285#true} #197#return; {13311#(not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|) |main_#t~ret12.base|))} is VALID [2021-09-13 23:57:05,040 INFO L281 TraceCheckUtils]: 28: Hoare triple {13311#(not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|) |main_#t~ret12.base|))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {13312#(not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset) main_~head~1.base))} is VALID [2021-09-13 23:57:05,040 INFO L264 TraceCheckUtils]: 29: Hoare triple {13312#(not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset) main_~head~1.base))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {13313#(not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|)))} is VALID [2021-09-13 23:57:05,041 INFO L281 TraceCheckUtils]: 30: Hoare triple {13313#(not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {13314#(not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) _destroy_in_nondeterministic_order_~head.base))} is VALID [2021-09-13 23:57:05,041 INFO L281 TraceCheckUtils]: 31: Hoare triple {13314#(not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) _destroy_in_nondeterministic_order_~head.base))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, 4 + ~head.offset, 4); srcloc: L586 {13315#(and (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) _destroy_in_nondeterministic_order_~head.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1))} is VALID [2021-09-13 23:57:05,042 INFO L281 TraceCheckUtils]: 32: Hoare triple {13315#(and (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) _destroy_in_nondeterministic_order_~head.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {13315#(and (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) _destroy_in_nondeterministic_order_~head.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1))} is VALID [2021-09-13 23:57:05,042 INFO L281 TraceCheckUtils]: 33: Hoare triple {13315#(and (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) _destroy_in_nondeterministic_order_~head.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4); srcloc: L587 {13316#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base |_destroy_in_nondeterministic_order_#t~mem6.base|)))} is VALID [2021-09-13 23:57:05,043 INFO L281 TraceCheckUtils]: 34: Hoare triple {13316#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base |_destroy_in_nondeterministic_order_#t~mem6.base|)))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647; {13317#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)))} is VALID [2021-09-13 23:57:05,043 INFO L281 TraceCheckUtils]: 35: Hoare triple {13317#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)))} assume !(0 != #t~nondet7);havoc #t~nondet7;assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {13317#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)))} is VALID [2021-09-13 23:57:05,043 INFO L281 TraceCheckUtils]: 36: Hoare triple {13317#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)))} assume 0 != #t~nondet9;havoc #t~nondet9; {13317#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)))} is VALID [2021-09-13 23:57:05,044 INFO L281 TraceCheckUtils]: 37: Hoare triple {13317#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)))} assume 0 == ~succ~0.offset; {13317#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)))} is VALID [2021-09-13 23:57:05,044 INFO L281 TraceCheckUtils]: 38: Hoare triple {13317#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)))} assume ~succ~0.base < #StackHeapBarrier; {13317#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)))} is VALID [2021-09-13 23:57:05,045 INFO L281 TraceCheckUtils]: 39: Hoare triple {13317#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)))} assume 0 == ~succ~0.base || 1 == #valid[~succ~0.base];call ULTIMATE.dealloc(~succ~0.base, ~succ~0.offset);assume -2147483648 <= #t~nondet10 && #t~nondet10 <= 2147483647; {13318#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} is VALID [2021-09-13 23:57:05,045 INFO L281 TraceCheckUtils]: 40: Hoare triple {13318#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} assume 0 != #t~nondet10;havoc #t~nondet10; {13318#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} is VALID [2021-09-13 23:57:05,045 INFO L281 TraceCheckUtils]: 41: Hoare triple {13318#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} assume 0 == ~head.offset; {13318#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} is VALID [2021-09-13 23:57:05,046 INFO L281 TraceCheckUtils]: 42: Hoare triple {13318#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} assume ~head.base < #StackHeapBarrier; {13318#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} is VALID [2021-09-13 23:57:05,046 INFO L281 TraceCheckUtils]: 43: Hoare triple {13318#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} assume !(0 == ~head.base || 1 == #valid[~head.base]); {13286#false} is VALID [2021-09-13 23:57:05,046 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:57:05,046 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 23:57:05,047 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [469265001] [2021-09-13 23:57:05,047 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [469265001] provided 0 perfect and 1 imperfect interpolant sequences [2021-09-13 23:57:05,047 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1068985347] [2021-09-13 23:57:05,047 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:57:05,047 INFO L170 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 23:57:05,047 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-09-13 23:57:05,048 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2021-09-13 23:57:05,048 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2021-09-13 23:57:05,135 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:57:05,136 INFO L263 TraceCheckSpWp]: Trace formula consists of 205 conjuncts, 38 conjunts are in the unsatisfiable core [2021-09-13 23:57:05,146 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:57:05,147 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 23:57:05,171 INFO L388 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 [2021-09-13 23:57:05,258 INFO L354 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2021-09-13 23:57:05,258 INFO L388 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 14 [2021-09-13 23:57:05,363 INFO L354 Elim1Store]: treesize reduction 16, result has 36.0 percent of original size [2021-09-13 23:57:05,363 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 16 treesize of output 18 [2021-09-13 23:57:05,398 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2021-09-13 23:57:05,453 INFO L354 Elim1Store]: treesize reduction 29, result has 19.4 percent of original size [2021-09-13 23:57:05,453 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 30 treesize of output 24 [2021-09-13 23:57:05,630 INFO L354 Elim1Store]: treesize reduction 45, result has 16.7 percent of original size [2021-09-13 23:57:05,631 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 33 treesize of output 34 [2021-09-13 23:57:05,816 INFO L354 Elim1Store]: treesize reduction 116, result has 20.5 percent of original size [2021-09-13 23:57:05,816 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 6 case distinctions, treesize of input 46 treesize of output 56 [2021-09-13 23:57:11,326 INFO L354 Elim1Store]: treesize reduction 104, result has 21.8 percent of original size [2021-09-13 23:57:11,327 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 5 select indices, 5 select index equivalence classes, 0 disjoint index pairs (out of 10 index pairs), introduced 7 new quantified variables, introduced 10 case distinctions, treesize of input 93 treesize of output 61 [2021-09-13 23:57:11,665 INFO L354 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2021-09-13 23:57:11,665 INFO L388 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 21 treesize of output 27 [2021-09-13 23:57:11,976 INFO L264 TraceCheckUtils]: 0: Hoare triple {13285#true} call ULTIMATE.init(); {13285#true} is VALID [2021-09-13 23:57:11,976 INFO L281 TraceCheckUtils]: 1: Hoare triple {13285#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {13285#true} is VALID [2021-09-13 23:57:11,976 INFO L281 TraceCheckUtils]: 2: Hoare triple {13285#true} assume true; {13285#true} is VALID [2021-09-13 23:57:11,976 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {13285#true} {13285#true} #201#return; {13285#true} is VALID [2021-09-13 23:57:11,976 INFO L264 TraceCheckUtils]: 4: Hoare triple {13285#true} call #t~ret13 := main(); {13285#true} is VALID [2021-09-13 23:57:11,976 INFO L281 TraceCheckUtils]: 5: Hoare triple {13285#true} ~len~0 := 3; {13285#true} is VALID [2021-09-13 23:57:11,976 INFO L264 TraceCheckUtils]: 6: Hoare triple {13285#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {13285#true} is VALID [2021-09-13 23:57:11,977 INFO L281 TraceCheckUtils]: 7: Hoare triple {13285#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {13355#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:57:11,977 INFO L281 TraceCheckUtils]: 8: Hoare triple {13355#(= (select |#valid| dll_circular_create_~last~0.base) 1)} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {13355#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:57:11,977 INFO L281 TraceCheckUtils]: 9: Hoare triple {13355#(= (select |#valid| dll_circular_create_~last~0.base) 1)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {13355#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:57:11,978 INFO L281 TraceCheckUtils]: 10: Hoare triple {13355#(= (select |#valid| dll_circular_create_~last~0.base) 1)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {13355#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:57:11,978 INFO L281 TraceCheckUtils]: 11: Hoare triple {13355#(= (select |#valid| dll_circular_create_~last~0.base) 1)} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {13368#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:57:11,979 INFO L281 TraceCheckUtils]: 12: Hoare triple {13368#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= (select |#valid| dll_circular_create_~last~0.base) 1))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {13372#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:57:11,979 INFO L281 TraceCheckUtils]: 13: Hoare triple {13372#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {13372#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:57:11,980 INFO L281 TraceCheckUtils]: 14: Hoare triple {13372#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {13372#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:57:11,980 INFO L281 TraceCheckUtils]: 15: Hoare triple {13372#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {13323#(and (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:57:11,981 INFO L281 TraceCheckUtils]: 16: Hoare triple {13323#(and (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {13324#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:57:11,981 INFO L281 TraceCheckUtils]: 17: Hoare triple {13324#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (= (select |#valid| dll_circular_create_~last~0.base) 1))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {13325#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:11,982 INFO L281 TraceCheckUtils]: 18: Hoare triple {13325#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {13325#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:11,982 INFO L281 TraceCheckUtils]: 19: Hoare triple {13325#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {13394#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) 0) dll_circular_create_~head~0.base))} is VALID [2021-09-13 23:57:11,983 INFO L281 TraceCheckUtils]: 20: Hoare triple {13394#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) 0) dll_circular_create_~head~0.base))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {13398#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (exists ((dll_circular_create_~head~0.offset Int)) (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) 0)) (+ dll_circular_create_~head~0.offset 4)))) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) 0) dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:57:11,984 INFO L281 TraceCheckUtils]: 21: Hoare triple {13398#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (exists ((dll_circular_create_~head~0.offset Int)) (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) 0)) (+ dll_circular_create_~head~0.offset 4)))) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) 0) dll_circular_create_~new_head~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {13402#(and (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (exists ((dll_circular_create_~head~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ dll_circular_create_~head~0.offset 4)) dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:57:11,985 INFO L281 TraceCheckUtils]: 22: Hoare triple {13402#(and (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (exists ((dll_circular_create_~head~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ dll_circular_create_~head~0.offset 4)) dll_circular_create_~head~0.base)))} assume !(~len > 1); {13402#(and (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (exists ((dll_circular_create_~head~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ dll_circular_create_~head~0.offset 4)) dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:57:11,986 INFO L281 TraceCheckUtils]: 23: Hoare triple {13402#(and (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (exists ((dll_circular_create_~head~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ dll_circular_create_~head~0.offset 4)) dll_circular_create_~head~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {13409#(and (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (exists ((dll_circular_create_~last~0.offset Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset))) (exists ((dll_circular_create_~head~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ dll_circular_create_~head~0.offset 4)) dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:57:12,797 INFO L281 TraceCheckUtils]: 24: Hoare triple {13409#(and (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (exists ((dll_circular_create_~last~0.offset Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset))) (exists ((dll_circular_create_~head~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ dll_circular_create_~head~0.offset 4)) dll_circular_create_~head~0.base)))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {13413#(exists ((v_dll_circular_create_~head~0.offset_65 Int) (dll_circular_create_~last~0.offset Int) (v_arrayElimIndex_25 Int) (dll_circular_create_~head~0.offset Int)) (and (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0) v_arrayElimIndex_25)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4)))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (not (= dll_circular_create_~head~0.base v_arrayElimIndex_25)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset))))} is UNKNOWN [2021-09-13 23:57:12,799 INFO L281 TraceCheckUtils]: 25: Hoare triple {13413#(exists ((v_dll_circular_create_~head~0.offset_65 Int) (dll_circular_create_~last~0.offset Int) (v_arrayElimIndex_25 Int) (dll_circular_create_~head~0.offset Int)) (and (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0) v_arrayElimIndex_25)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4)))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (not (= dll_circular_create_~head~0.base v_arrayElimIndex_25)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {13417#(exists ((v_dll_circular_create_~head~0.offset_65 Int) (dll_circular_create_~last~0.offset Int) (v_arrayElimIndex_25 Int) (dll_circular_create_~head~0.offset Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|) (not (= |dll_circular_create_#res.base| v_arrayElimIndex_25)) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ dll_circular_create_~head~0.offset 4)))) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0) v_arrayElimIndex_25)) (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4)))))} is VALID [2021-09-13 23:57:12,799 INFO L281 TraceCheckUtils]: 26: Hoare triple {13417#(exists ((v_dll_circular_create_~head~0.offset_65 Int) (dll_circular_create_~last~0.offset Int) (v_arrayElimIndex_25 Int) (dll_circular_create_~head~0.offset Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|) (not (= |dll_circular_create_#res.base| v_arrayElimIndex_25)) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ dll_circular_create_~head~0.offset 4)))) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0) v_arrayElimIndex_25)) (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4)))))} assume true; {13417#(exists ((v_dll_circular_create_~head~0.offset_65 Int) (dll_circular_create_~last~0.offset Int) (v_arrayElimIndex_25 Int) (dll_circular_create_~head~0.offset Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|) (not (= |dll_circular_create_#res.base| v_arrayElimIndex_25)) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ dll_circular_create_~head~0.offset 4)))) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0) v_arrayElimIndex_25)) (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4)))))} is VALID [2021-09-13 23:57:12,800 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {13417#(exists ((v_dll_circular_create_~head~0.offset_65 Int) (dll_circular_create_~last~0.offset Int) (v_arrayElimIndex_25 Int) (dll_circular_create_~head~0.offset Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|) (not (= |dll_circular_create_#res.base| v_arrayElimIndex_25)) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (+ dll_circular_create_~head~0.offset 4)))) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0) v_arrayElimIndex_25)) (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4)))))} {13285#true} #197#return; {13424#(exists ((v_dll_circular_create_~head~0.offset_65 Int) (dll_circular_create_~last~0.offset Int) (v_arrayElimIndex_25 Int) (dll_circular_create_~head~0.offset Int)) (and (not (= v_arrayElimIndex_25 (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4)))) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) 0) v_arrayElimIndex_25)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset) (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (+ dll_circular_create_~head~0.offset 4)) (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4)))) (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4)))))} is VALID [2021-09-13 23:57:12,801 INFO L281 TraceCheckUtils]: 28: Hoare triple {13424#(exists ((v_dll_circular_create_~head~0.offset_65 Int) (dll_circular_create_~last~0.offset Int) (v_arrayElimIndex_25 Int) (dll_circular_create_~head~0.offset Int)) (and (not (= v_arrayElimIndex_25 (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4)))) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) 0) v_arrayElimIndex_25)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset) (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (+ dll_circular_create_~head~0.offset 4)) (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4)))) (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4)))))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {13428#(exists ((v_dll_circular_create_~head~0.offset_65 Int) (dll_circular_create_~last~0.offset Int) (v_arrayElimIndex_25 Int) (dll_circular_create_~head~0.offset Int)) (and (not (= v_arrayElimIndex_25 (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4)))) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) 0) v_arrayElimIndex_25)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset) (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (= main_~head~1.base (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (+ dll_circular_create_~head~0.offset 4)) (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))))))} is VALID [2021-09-13 23:57:12,802 INFO L264 TraceCheckUtils]: 29: Hoare triple {13428#(exists ((v_dll_circular_create_~head~0.offset_65 Int) (dll_circular_create_~last~0.offset Int) (v_arrayElimIndex_25 Int) (dll_circular_create_~head~0.offset Int)) (and (not (= v_arrayElimIndex_25 (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4)))) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) 0) v_arrayElimIndex_25)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset) (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (= main_~head~1.base (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (+ dll_circular_create_~head~0.offset 4)) (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))))))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {13432#(exists ((v_dll_circular_create_~head~0.offset_65 Int) (dll_circular_create_~last~0.offset Int) (v_arrayElimIndex_25 Int) (dll_circular_create_~head~0.offset Int)) (and (not (= v_arrayElimIndex_25 (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4)))) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) 0) v_arrayElimIndex_25)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset) (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (+ dll_circular_create_~head~0.offset 4)) (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4)))) (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4)))))} is VALID [2021-09-13 23:57:12,803 INFO L281 TraceCheckUtils]: 30: Hoare triple {13432#(exists ((v_dll_circular_create_~head~0.offset_65 Int) (dll_circular_create_~last~0.offset Int) (v_arrayElimIndex_25 Int) (dll_circular_create_~head~0.offset Int)) (and (not (= v_arrayElimIndex_25 (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4)))) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) 0) v_arrayElimIndex_25)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset) (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (+ dll_circular_create_~head~0.offset 4)) (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4)))) (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4)))))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {13436#(exists ((v_dll_circular_create_~head~0.offset_65 Int) (dll_circular_create_~last~0.offset Int) (v_arrayElimIndex_25 Int) (dll_circular_create_~head~0.offset Int)) (and (not (= v_arrayElimIndex_25 (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4)))) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) 0) v_arrayElimIndex_25)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset) (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (+ dll_circular_create_~head~0.offset 4)) (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))))))} is VALID [2021-09-13 23:57:12,804 INFO L281 TraceCheckUtils]: 31: Hoare triple {13436#(exists ((v_dll_circular_create_~head~0.offset_65 Int) (dll_circular_create_~last~0.offset Int) (v_arrayElimIndex_25 Int) (dll_circular_create_~head~0.offset Int)) (and (not (= v_arrayElimIndex_25 (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4)))) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) 0) v_arrayElimIndex_25)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset) (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (+ dll_circular_create_~head~0.offset 4)) (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))))))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, 4 + ~head.offset, 4); srcloc: L586 {13440#(and (exists ((v_dll_circular_create_~head~0.offset_65 Int) (dll_circular_create_~last~0.offset Int) (v_arrayElimIndex_25 Int) (dll_circular_create_~head~0.offset Int)) (and (not (= v_arrayElimIndex_25 (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4)))) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) 0) v_arrayElimIndex_25)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset) (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (+ dll_circular_create_~head~0.offset 4)) (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4)))))) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1))} is VALID [2021-09-13 23:57:12,805 INFO L281 TraceCheckUtils]: 32: Hoare triple {13440#(and (exists ((v_dll_circular_create_~head~0.offset_65 Int) (dll_circular_create_~last~0.offset Int) (v_arrayElimIndex_25 Int) (dll_circular_create_~head~0.offset Int)) (and (not (= v_arrayElimIndex_25 (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4)))) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) 0) v_arrayElimIndex_25)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset) (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (+ dll_circular_create_~head~0.offset 4)) (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4)))))) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {13440#(and (exists ((v_dll_circular_create_~head~0.offset_65 Int) (dll_circular_create_~last~0.offset Int) (v_arrayElimIndex_25 Int) (dll_circular_create_~head~0.offset Int)) (and (not (= v_arrayElimIndex_25 (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4)))) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) 0) v_arrayElimIndex_25)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset) (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (+ dll_circular_create_~head~0.offset 4)) (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4)))))) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1))} is VALID [2021-09-13 23:57:12,805 INFO L281 TraceCheckUtils]: 33: Hoare triple {13440#(and (exists ((v_dll_circular_create_~head~0.offset_65 Int) (dll_circular_create_~last~0.offset Int) (v_arrayElimIndex_25 Int) (dll_circular_create_~head~0.offset Int)) (and (not (= v_arrayElimIndex_25 (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4)))) (or (= 0 (+ dll_circular_create_~head~0.offset 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) 0) v_arrayElimIndex_25)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (+ dll_circular_create_~head~0.offset 4))) dll_circular_create_~last~0.offset) (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4))) (+ dll_circular_create_~head~0.offset 4)) (select (select |#memory_$Pointer$.base| v_arrayElimIndex_25) (+ v_dll_circular_create_~head~0.offset_65 4)))))) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4); srcloc: L587 {13447#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base |_destroy_in_nondeterministic_order_#t~mem6.base|))))} is VALID [2021-09-13 23:57:12,806 INFO L281 TraceCheckUtils]: 34: Hoare triple {13447#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base |_destroy_in_nondeterministic_order_#t~mem6.base|))))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647; {13451#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))} is VALID [2021-09-13 23:57:12,806 INFO L281 TraceCheckUtils]: 35: Hoare triple {13451#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))} assume !(0 != #t~nondet7);havoc #t~nondet7;assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {13451#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))} is VALID [2021-09-13 23:57:12,807 INFO L281 TraceCheckUtils]: 36: Hoare triple {13451#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))} assume 0 != #t~nondet9;havoc #t~nondet9; {13451#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))} is VALID [2021-09-13 23:57:12,807 INFO L281 TraceCheckUtils]: 37: Hoare triple {13451#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))} assume 0 == ~succ~0.offset; {13451#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))} is VALID [2021-09-13 23:57:12,808 INFO L281 TraceCheckUtils]: 38: Hoare triple {13451#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))} assume ~succ~0.base < #StackHeapBarrier; {13451#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))} is VALID [2021-09-13 23:57:12,809 INFO L281 TraceCheckUtils]: 39: Hoare triple {13451#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))} assume 0 == ~succ~0.base || 1 == #valid[~succ~0.base];call ULTIMATE.dealloc(~succ~0.base, ~succ~0.offset);assume -2147483648 <= #t~nondet10 && #t~nondet10 <= 2147483647; {13467#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((_destroy_in_nondeterministic_order_~succ~0.base Int)) (and (or (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))))} is VALID [2021-09-13 23:57:12,809 INFO L281 TraceCheckUtils]: 40: Hoare triple {13467#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((_destroy_in_nondeterministic_order_~succ~0.base Int)) (and (or (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))))} assume 0 != #t~nondet10;havoc #t~nondet10; {13467#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((_destroy_in_nondeterministic_order_~succ~0.base Int)) (and (or (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))))} is VALID [2021-09-13 23:57:12,810 INFO L281 TraceCheckUtils]: 41: Hoare triple {13467#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((_destroy_in_nondeterministic_order_~succ~0.base Int)) (and (or (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))))} assume 0 == ~head.offset; {13474#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (exists ((_destroy_in_nondeterministic_order_~succ~0.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0)))} is VALID [2021-09-13 23:57:12,810 INFO L281 TraceCheckUtils]: 42: Hoare triple {13474#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (exists ((_destroy_in_nondeterministic_order_~succ~0.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0)))} assume ~head.base < #StackHeapBarrier; {13474#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (exists ((_destroy_in_nondeterministic_order_~succ~0.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0)))} is VALID [2021-09-13 23:57:12,810 INFO L281 TraceCheckUtils]: 43: Hoare triple {13474#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (exists ((_destroy_in_nondeterministic_order_~succ~0.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0)))} assume !(0 == ~head.base || 1 == #valid[~head.base]); {13286#false} is VALID [2021-09-13 23:57:12,811 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:57:12,811 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 23:57:15,768 INFO L388 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 27 treesize of output 23 [2021-09-13 23:57:17,358 WARN L838 $PredicateComparison]: unable to prove that (forall ((_destroy_in_nondeterministic_order_~head.offset Int) (dll_circular_create_~head~0.offset Int)) (or (not (= c_dll_circular_create_~head~0.base (select (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) c_dll_circular_create_~last~0.base) _destroy_in_nondeterministic_order_~head.offset))) (< 0 _destroy_in_nondeterministic_order_~head.offset) (< _destroy_in_nondeterministic_order_~head.offset 0))) is different from false [2021-09-13 23:57:18,005 WARN L838 $PredicateComparison]: unable to prove that (forall ((_destroy_in_nondeterministic_order_~head.offset Int) (dll_circular_create_~last~0.offset Int) (dll_circular_create_~head~0.offset Int)) (or (not (= c_dll_circular_create_~head~0.base (select (store (select (store |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~head~0.base)) c_dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) c_dll_circular_create_~last~0.base) _destroy_in_nondeterministic_order_~head.offset))) (< 0 _destroy_in_nondeterministic_order_~head.offset) (< _destroy_in_nondeterministic_order_~head.offset 0))) is different from false [2021-09-13 23:57:18,769 WARN L838 $PredicateComparison]: unable to prove that (forall ((_destroy_in_nondeterministic_order_~head.offset Int) (dll_circular_create_~last~0.offset Int) (dll_circular_create_~head~0.offset Int)) (or (not (= c_dll_circular_create_~new_head~0.base (select (store (select (store |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.base)) c_dll_circular_create_~new_head~0.base) (+ dll_circular_create_~head~0.offset 4) c_dll_circular_create_~last~0.base) _destroy_in_nondeterministic_order_~head.offset))) (< 0 _destroy_in_nondeterministic_order_~head.offset) (< _destroy_in_nondeterministic_order_~head.offset 0))) is different from false [2021-09-13 23:57:21,741 WARN L838 $PredicateComparison]: unable to prove that (forall ((_destroy_in_nondeterministic_order_~head.offset Int) (v_dll_circular_create_~head~0.offset_74 Int) (dll_circular_create_~last~0.offset Int) (dll_circular_create_~head~0.offset Int)) (or (not (= (select (store (select (let ((.cse0 (store |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) c_dll_circular_create_~new_head~0.base)))) (store .cse0 c_dll_circular_create_~last~0.base (store (select .cse0 c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.base))) c_dll_circular_create_~new_head~0.base) (+ v_dll_circular_create_~head~0.offset_74 4) c_dll_circular_create_~last~0.base) _destroy_in_nondeterministic_order_~head.offset) c_dll_circular_create_~new_head~0.base)) (< 0 _destroy_in_nondeterministic_order_~head.offset) (< _destroy_in_nondeterministic_order_~head.offset 0))) is different from false [2021-09-13 23:57:21,880 INFO L354 Elim1Store]: treesize reduction 83, result has 30.8 percent of original size [2021-09-13 23:57:21,881 INFO L388 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 3 case distinctions, treesize of input 80 treesize of output 56 [2021-09-13 23:57:21,912 INFO L354 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2021-09-13 23:57:21,912 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 56 treesize of output 72 [2021-09-13 23:57:22,022 INFO L388 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 8 treesize of output 4 [2021-09-13 23:57:22,050 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_DEPENDING: Alternating quantifiers not yet supported [2021-09-13 23:57:22,050 INFO L186 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2021-09-13 23:57:22,050 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21] total 21 [2021-09-13 23:57:22,050 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1440088068] [2021-09-13 23:57:22,051 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 20 states have (on average 1.9) internal successors, (38), 18 states have internal predecessors, (38), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 44 [2021-09-13 23:57:22,051 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:57:22,051 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 22 states, 20 states have (on average 1.9) internal successors, (38), 18 states have internal predecessors, (38), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:57:22,077 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:57:22,077 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2021-09-13 23:57:22,077 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 23:57:22,077 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2021-09-13 23:57:22,078 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=161, Invalid=2297, Unknown=8, NotChecked=396, Total=2862 [2021-09-13 23:57:22,078 INFO L87 Difference]: Start difference. First operand 95 states and 100 transitions. Second operand has 22 states, 20 states have (on average 1.9) internal successors, (38), 18 states have internal predecessors, (38), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:57:29,428 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:57:29,429 INFO L93 Difference]: Finished difference Result 98 states and 103 transitions. [2021-09-13 23:57:29,429 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2021-09-13 23:57:29,429 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 20 states have (on average 1.9) internal successors, (38), 18 states have internal predecessors, (38), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 44 [2021-09-13 23:57:29,429 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:57:29,429 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 20 states have (on average 1.9) internal successors, (38), 18 states have internal predecessors, (38), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:57:29,430 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 104 transitions. [2021-09-13 23:57:29,430 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 20 states have (on average 1.9) internal successors, (38), 18 states have internal predecessors, (38), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:57:29,431 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 104 transitions. [2021-09-13 23:57:29,431 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 104 transitions. [2021-09-13 23:57:29,516 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:57:29,516 INFO L225 Difference]: With dead ends: 98 [2021-09-13 23:57:29,516 INFO L226 Difference]: Without dead ends: 98 [2021-09-13 23:57:29,517 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 109 GetRequests, 40 SyntacticMatches, 2 SemanticMatches, 67 ConstructedPredicates, 4 IntricatePredicates, 0 DeprecatedPredicates, 719 ImplicationChecksByTransitivity, 12498.45ms TimeCoverageRelationStatistics Valid=310, Invalid=3858, Unknown=8, NotChecked=516, Total=4692 [2021-09-13 23:57:29,518 INFO L928 BasicCegarLoop]: 6 mSDtfsCounter, 198 mSDsluCounter, 613 mSDsCounter, 0 mSdLazyCounter, 1729 mSolverCounterSat, 47 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1201.67ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 199 SdHoareTripleChecker+Valid, 71 SdHoareTripleChecker+Invalid, 1776 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 3.59ms SdHoareTripleChecker+Time, 47 IncrementalHoareTripleChecker+Valid, 1729 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1210.51ms IncrementalHoareTripleChecker+Time [2021-09-13 23:57:29,518 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [199 Valid, 71 Invalid, 1776 Unknown, 0 Unchecked, 3.59ms Time], IncrementalHoareTripleChecker [47 Valid, 1729 Invalid, 0 Unknown, 0 Unchecked, 1210.51ms Time] [2021-09-13 23:57:29,518 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2021-09-13 23:57:29,519 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 94. [2021-09-13 23:57:29,519 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:57:29,519 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand has 94 states, 79 states have (on average 1.1645569620253164) internal successors, (92), 86 states have internal predecessors, (92), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:57:29,519 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand has 94 states, 79 states have (on average 1.1645569620253164) internal successors, (92), 86 states have internal predecessors, (92), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:57:29,520 INFO L87 Difference]: Start difference. First operand 98 states. Second operand has 94 states, 79 states have (on average 1.1645569620253164) internal successors, (92), 86 states have internal predecessors, (92), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:57:29,520 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:57:29,520 INFO L93 Difference]: Finished difference Result 98 states and 103 transitions. [2021-09-13 23:57:29,520 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 103 transitions. [2021-09-13 23:57:29,521 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:57:29,521 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:57:29,521 INFO L74 IsIncluded]: Start isIncluded. First operand has 94 states, 79 states have (on average 1.1645569620253164) internal successors, (92), 86 states have internal predecessors, (92), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 98 states. [2021-09-13 23:57:29,521 INFO L87 Difference]: Start difference. First operand has 94 states, 79 states have (on average 1.1645569620253164) internal successors, (92), 86 states have internal predecessors, (92), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 98 states. [2021-09-13 23:57:29,522 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:57:29,522 INFO L93 Difference]: Finished difference Result 98 states and 103 transitions. [2021-09-13 23:57:29,522 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 103 transitions. [2021-09-13 23:57:29,522 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:57:29,522 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:57:29,522 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:57:29,522 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:57:29,522 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 94 states, 79 states have (on average 1.1645569620253164) internal successors, (92), 86 states have internal predecessors, (92), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:57:29,523 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 94 states to 94 states and 99 transitions. [2021-09-13 23:57:29,523 INFO L78 Accepts]: Start accepts. Automaton has 94 states and 99 transitions. Word has length 44 [2021-09-13 23:57:29,523 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:57:29,523 INFO L470 AbstractCegarLoop]: Abstraction has 94 states and 99 transitions. [2021-09-13 23:57:29,523 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 20 states have (on average 1.9) internal successors, (38), 18 states have internal predecessors, (38), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:57:29,523 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 99 transitions. [2021-09-13 23:57:29,523 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2021-09-13 23:57:29,523 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:57:29,523 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 23:57:29,542 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2021-09-13 23:57:29,732 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable22,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 23:57:29,733 INFO L402 AbstractCegarLoop]: === Iteration 24 === Targeting _destroy_in_nondeterministic_orderErr45ASSERT_VIOLATIONMEMORY_FREE === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:57:29,733 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:57:29,733 INFO L82 PathProgramCache]: Analyzing trace with hash 1597102842, now seen corresponding path program 1 times [2021-09-13 23:57:29,733 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 23:57:29,733 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [982141150] [2021-09-13 23:57:29,734 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:57:29,734 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 23:57:29,745 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:57:29,875 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2021-09-13 23:57:29,878 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:57:29,880 INFO L281 TraceCheckUtils]: 0: Hoare triple {14024#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {13991#true} is VALID [2021-09-13 23:57:29,880 INFO L281 TraceCheckUtils]: 1: Hoare triple {13991#true} assume true; {13991#true} is VALID [2021-09-13 23:57:29,880 INFO L276 TraceCheckUtils]: 2: Hoare quadruple {13991#true} {13991#true} #201#return; {13991#true} is VALID [2021-09-13 23:57:29,893 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2021-09-13 23:57:29,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:57:30,005 INFO L281 TraceCheckUtils]: 0: Hoare triple {14025#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {13991#true} is VALID [2021-09-13 23:57:30,005 INFO L281 TraceCheckUtils]: 1: Hoare triple {13991#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {13991#true} is VALID [2021-09-13 23:57:30,005 INFO L281 TraceCheckUtils]: 2: Hoare triple {13991#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {13991#true} is VALID [2021-09-13 23:57:30,005 INFO L281 TraceCheckUtils]: 3: Hoare triple {13991#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {13991#true} is VALID [2021-09-13 23:57:30,005 INFO L281 TraceCheckUtils]: 4: Hoare triple {13991#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {14026#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:30,006 INFO L281 TraceCheckUtils]: 5: Hoare triple {14026#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {14026#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:30,006 INFO L281 TraceCheckUtils]: 6: Hoare triple {14026#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {14026#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:30,006 INFO L281 TraceCheckUtils]: 7: Hoare triple {14026#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {14026#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:30,007 INFO L281 TraceCheckUtils]: 8: Hoare triple {14026#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {14027#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:57:30,007 INFO L281 TraceCheckUtils]: 9: Hoare triple {14027#(= (select |#valid| dll_circular_create_~last~0.base) 1)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {14027#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:57:30,008 INFO L281 TraceCheckUtils]: 10: Hoare triple {14027#(= (select |#valid| dll_circular_create_~last~0.base) 1)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {14028#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:30,008 INFO L281 TraceCheckUtils]: 11: Hoare triple {14028#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {14028#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:30,009 INFO L281 TraceCheckUtils]: 12: Hoare triple {14028#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {14028#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:30,009 INFO L281 TraceCheckUtils]: 13: Hoare triple {14028#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {14028#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:30,010 INFO L281 TraceCheckUtils]: 14: Hoare triple {14028#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {14029#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:57:30,010 INFO L281 TraceCheckUtils]: 15: Hoare triple {14029#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} assume !(~len > 1); {14029#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:57:30,010 INFO L281 TraceCheckUtils]: 16: Hoare triple {14029#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {14029#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:57:30,011 INFO L281 TraceCheckUtils]: 17: Hoare triple {14029#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {14030#(and (= dll_circular_create_~head~0.offset 0) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:57:30,012 INFO L281 TraceCheckUtils]: 18: Hoare triple {14030#(and (= dll_circular_create_~head~0.offset 0) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) dll_circular_create_~head~0.base)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {14031#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:57:30,012 INFO L281 TraceCheckUtils]: 19: Hoare triple {14031#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} assume true; {14031#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:57:30,013 INFO L276 TraceCheckUtils]: 20: Hoare quadruple {14031#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} {13991#true} #197#return; {14017#(and (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|)) (= |main_#t~ret12.offset| 0))} is VALID [2021-09-13 23:57:30,013 INFO L264 TraceCheckUtils]: 0: Hoare triple {13991#true} call ULTIMATE.init(); {14024#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2021-09-13 23:57:30,013 INFO L281 TraceCheckUtils]: 1: Hoare triple {14024#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {13991#true} is VALID [2021-09-13 23:57:30,013 INFO L281 TraceCheckUtils]: 2: Hoare triple {13991#true} assume true; {13991#true} is VALID [2021-09-13 23:57:30,013 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {13991#true} {13991#true} #201#return; {13991#true} is VALID [2021-09-13 23:57:30,014 INFO L264 TraceCheckUtils]: 4: Hoare triple {13991#true} call #t~ret13 := main(); {13991#true} is VALID [2021-09-13 23:57:30,014 INFO L281 TraceCheckUtils]: 5: Hoare triple {13991#true} ~len~0 := 3; {13991#true} is VALID [2021-09-13 23:57:30,014 INFO L264 TraceCheckUtils]: 6: Hoare triple {13991#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {14025#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2021-09-13 23:57:30,014 INFO L281 TraceCheckUtils]: 7: Hoare triple {14025#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {13991#true} is VALID [2021-09-13 23:57:30,014 INFO L281 TraceCheckUtils]: 8: Hoare triple {13991#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {13991#true} is VALID [2021-09-13 23:57:30,014 INFO L281 TraceCheckUtils]: 9: Hoare triple {13991#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {13991#true} is VALID [2021-09-13 23:57:30,014 INFO L281 TraceCheckUtils]: 10: Hoare triple {13991#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {13991#true} is VALID [2021-09-13 23:57:30,015 INFO L281 TraceCheckUtils]: 11: Hoare triple {13991#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {14026#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:30,015 INFO L281 TraceCheckUtils]: 12: Hoare triple {14026#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {14026#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:30,015 INFO L281 TraceCheckUtils]: 13: Hoare triple {14026#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {14026#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:30,016 INFO L281 TraceCheckUtils]: 14: Hoare triple {14026#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {14026#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:30,016 INFO L281 TraceCheckUtils]: 15: Hoare triple {14026#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {14027#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:57:30,017 INFO L281 TraceCheckUtils]: 16: Hoare triple {14027#(= (select |#valid| dll_circular_create_~last~0.base) 1)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {14027#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:57:30,017 INFO L281 TraceCheckUtils]: 17: Hoare triple {14027#(= (select |#valid| dll_circular_create_~last~0.base) 1)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {14028#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:30,017 INFO L281 TraceCheckUtils]: 18: Hoare triple {14028#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {14028#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:30,018 INFO L281 TraceCheckUtils]: 19: Hoare triple {14028#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {14028#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:30,018 INFO L281 TraceCheckUtils]: 20: Hoare triple {14028#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {14028#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:30,019 INFO L281 TraceCheckUtils]: 21: Hoare triple {14028#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {14029#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:57:30,019 INFO L281 TraceCheckUtils]: 22: Hoare triple {14029#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} assume !(~len > 1); {14029#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:57:30,020 INFO L281 TraceCheckUtils]: 23: Hoare triple {14029#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {14029#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:57:30,020 INFO L281 TraceCheckUtils]: 24: Hoare triple {14029#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {14030#(and (= dll_circular_create_~head~0.offset 0) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:57:30,021 INFO L281 TraceCheckUtils]: 25: Hoare triple {14030#(and (= dll_circular_create_~head~0.offset 0) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) dll_circular_create_~head~0.base)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {14031#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:57:30,021 INFO L281 TraceCheckUtils]: 26: Hoare triple {14031#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} assume true; {14031#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:57:30,022 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {14031#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} {13991#true} #197#return; {14017#(and (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|)) (= |main_#t~ret12.offset| 0))} is VALID [2021-09-13 23:57:30,022 INFO L281 TraceCheckUtils]: 28: Hoare triple {14017#(and (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|)) (= |main_#t~ret12.offset| 0))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {14018#(and (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))) (= 0 main_~head~1.offset))} is VALID [2021-09-13 23:57:30,023 INFO L264 TraceCheckUtils]: 29: Hoare triple {14018#(and (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))) (= 0 main_~head~1.offset))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {14019#(and (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))) (= |_destroy_in_nondeterministic_order_#in~head.offset| 0))} is VALID [2021-09-13 23:57:30,023 INFO L281 TraceCheckUtils]: 30: Hoare triple {14019#(and (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))) (= |_destroy_in_nondeterministic_order_#in~head.offset| 0))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {14020#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)) _destroy_in_nondeterministic_order_~head.base)))} is VALID [2021-09-13 23:57:30,024 INFO L281 TraceCheckUtils]: 31: Hoare triple {14020#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)) _destroy_in_nondeterministic_order_~head.base)))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, 4 + ~head.offset, 4); srcloc: L586 {14021#(and (not (= _destroy_in_nondeterministic_order_~head.base |_destroy_in_nondeterministic_order_#t~mem5.base|)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.offset 0))} is VALID [2021-09-13 23:57:30,024 INFO L281 TraceCheckUtils]: 32: Hoare triple {14021#(and (not (= _destroy_in_nondeterministic_order_~head.base |_destroy_in_nondeterministic_order_#t~mem5.base|)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.offset 0))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {14022#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} is VALID [2021-09-13 23:57:30,025 INFO L281 TraceCheckUtils]: 33: Hoare triple {14022#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4); srcloc: L587 {14022#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} is VALID [2021-09-13 23:57:30,025 INFO L281 TraceCheckUtils]: 34: Hoare triple {14022#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647; {14022#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} is VALID [2021-09-13 23:57:30,026 INFO L281 TraceCheckUtils]: 35: Hoare triple {14022#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} assume !(0 != #t~nondet7);havoc #t~nondet7;assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {14022#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} is VALID [2021-09-13 23:57:30,026 INFO L281 TraceCheckUtils]: 36: Hoare triple {14022#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} assume !(0 != #t~nondet9);havoc #t~nondet9; {14022#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} is VALID [2021-09-13 23:57:30,026 INFO L281 TraceCheckUtils]: 37: Hoare triple {14022#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} assume 0 == ~pred~0.offset; {14022#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} is VALID [2021-09-13 23:57:30,027 INFO L281 TraceCheckUtils]: 38: Hoare triple {14022#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} assume ~pred~0.base < #StackHeapBarrier; {14022#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} is VALID [2021-09-13 23:57:30,027 INFO L281 TraceCheckUtils]: 39: Hoare triple {14022#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} assume 0 == ~pred~0.base || 1 == #valid[~pred~0.base];call ULTIMATE.dealloc(~pred~0.base, ~pred~0.offset);assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647; {14023#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} is VALID [2021-09-13 23:57:30,028 INFO L281 TraceCheckUtils]: 40: Hoare triple {14023#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} assume !(0 != #t~nondet11);havoc #t~nondet11; {14023#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} is VALID [2021-09-13 23:57:30,028 INFO L281 TraceCheckUtils]: 41: Hoare triple {14023#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} assume 0 == ~head.offset; {14023#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} is VALID [2021-09-13 23:57:30,029 INFO L281 TraceCheckUtils]: 42: Hoare triple {14023#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} assume ~head.base < #StackHeapBarrier; {14023#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} is VALID [2021-09-13 23:57:30,029 INFO L281 TraceCheckUtils]: 43: Hoare triple {14023#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} assume !(0 == ~head.base || 1 == #valid[~head.base]); {13992#false} is VALID [2021-09-13 23:57:30,029 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:57:30,029 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 23:57:30,030 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [982141150] [2021-09-13 23:57:30,030 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [982141150] provided 0 perfect and 1 imperfect interpolant sequences [2021-09-13 23:57:30,030 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [417475527] [2021-09-13 23:57:30,030 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:57:30,030 INFO L170 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 23:57:30,030 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-09-13 23:57:30,041 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2021-09-13 23:57:30,112 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2021-09-13 23:57:30,191 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:57:30,192 INFO L263 TraceCheckSpWp]: Trace formula consists of 207 conjuncts, 33 conjunts are in the unsatisfiable core [2021-09-13 23:57:30,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:57:30,203 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 23:57:30,282 INFO L354 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2021-09-13 23:57:30,283 INFO L388 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 [2021-09-13 23:57:30,395 INFO L388 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 12 [2021-09-13 23:57:30,550 INFO L354 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2021-09-13 23:57:30,550 INFO L388 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 2 new quantified variables, introduced 1 case distinctions, treesize of input 18 treesize of output 18 [2021-09-13 23:57:30,804 INFO L354 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2021-09-13 23:57:30,804 INFO L388 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 21 treesize of output 27 [2021-09-13 23:57:31,070 INFO L264 TraceCheckUtils]: 0: Hoare triple {13991#true} call ULTIMATE.init(); {13991#true} is VALID [2021-09-13 23:57:31,070 INFO L281 TraceCheckUtils]: 1: Hoare triple {13991#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {13991#true} is VALID [2021-09-13 23:57:31,070 INFO L281 TraceCheckUtils]: 2: Hoare triple {13991#true} assume true; {13991#true} is VALID [2021-09-13 23:57:31,070 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {13991#true} {13991#true} #201#return; {13991#true} is VALID [2021-09-13 23:57:31,070 INFO L264 TraceCheckUtils]: 4: Hoare triple {13991#true} call #t~ret13 := main(); {13991#true} is VALID [2021-09-13 23:57:31,070 INFO L281 TraceCheckUtils]: 5: Hoare triple {13991#true} ~len~0 := 3; {13991#true} is VALID [2021-09-13 23:57:31,070 INFO L264 TraceCheckUtils]: 6: Hoare triple {13991#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {13991#true} is VALID [2021-09-13 23:57:31,070 INFO L281 TraceCheckUtils]: 7: Hoare triple {13991#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {13991#true} is VALID [2021-09-13 23:57:31,070 INFO L281 TraceCheckUtils]: 8: Hoare triple {13991#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {13991#true} is VALID [2021-09-13 23:57:31,070 INFO L281 TraceCheckUtils]: 9: Hoare triple {13991#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {13991#true} is VALID [2021-09-13 23:57:31,070 INFO L281 TraceCheckUtils]: 10: Hoare triple {13991#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {13991#true} is VALID [2021-09-13 23:57:31,071 INFO L281 TraceCheckUtils]: 11: Hoare triple {13991#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {14026#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:31,071 INFO L281 TraceCheckUtils]: 12: Hoare triple {14026#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {14026#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:31,071 INFO L281 TraceCheckUtils]: 13: Hoare triple {14026#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {14026#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:31,072 INFO L281 TraceCheckUtils]: 14: Hoare triple {14026#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {14026#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:31,072 INFO L281 TraceCheckUtils]: 15: Hoare triple {14026#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {14027#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:57:31,073 INFO L281 TraceCheckUtils]: 16: Hoare triple {14027#(= (select |#valid| dll_circular_create_~last~0.base) 1)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {14027#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:57:31,073 INFO L281 TraceCheckUtils]: 17: Hoare triple {14027#(= (select |#valid| dll_circular_create_~last~0.base) 1)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {14028#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:31,073 INFO L281 TraceCheckUtils]: 18: Hoare triple {14028#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {14028#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:31,074 INFO L281 TraceCheckUtils]: 19: Hoare triple {14028#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {14028#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:31,074 INFO L281 TraceCheckUtils]: 20: Hoare triple {14028#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {14028#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:31,075 INFO L281 TraceCheckUtils]: 21: Hoare triple {14028#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {14029#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:57:31,075 INFO L281 TraceCheckUtils]: 22: Hoare triple {14029#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} assume !(~len > 1); {14029#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:57:31,076 INFO L281 TraceCheckUtils]: 23: Hoare triple {14029#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {14029#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:57:31,076 INFO L281 TraceCheckUtils]: 24: Hoare triple {14029#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {14107#(not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) dll_circular_create_~head~0.base))} is VALID [2021-09-13 23:57:31,077 INFO L281 TraceCheckUtils]: 25: Hoare triple {14107#(not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) dll_circular_create_~head~0.base))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {14111#(not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4)))} is VALID [2021-09-13 23:57:31,077 INFO L281 TraceCheckUtils]: 26: Hoare triple {14111#(not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4)))} assume true; {14111#(not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4)))} is VALID [2021-09-13 23:57:31,078 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {14111#(not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4)))} {13991#true} #197#return; {14118#(not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|))} is VALID [2021-09-13 23:57:31,078 INFO L281 TraceCheckUtils]: 28: Hoare triple {14118#(not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {14122#(not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)))} is VALID [2021-09-13 23:57:31,079 INFO L264 TraceCheckUtils]: 29: Hoare triple {14122#(not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {14126#(not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)))} is VALID [2021-09-13 23:57:31,079 INFO L281 TraceCheckUtils]: 30: Hoare triple {14126#(not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {14130#(not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)))} is VALID [2021-09-13 23:57:31,080 INFO L281 TraceCheckUtils]: 31: Hoare triple {14130#(not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, 4 + ~head.offset, 4); srcloc: L586 {14134#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.base |_destroy_in_nondeterministic_order_#t~mem5.base|)) (not (= _destroy_in_nondeterministic_order_~head.offset 0))))} is VALID [2021-09-13 23:57:31,080 INFO L281 TraceCheckUtils]: 32: Hoare triple {14134#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.base |_destroy_in_nondeterministic_order_#t~mem5.base|)) (not (= _destroy_in_nondeterministic_order_~head.offset 0))))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {14138#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))))} is VALID [2021-09-13 23:57:31,081 INFO L281 TraceCheckUtils]: 33: Hoare triple {14138#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4); srcloc: L587 {14142#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))))} is VALID [2021-09-13 23:57:31,081 INFO L281 TraceCheckUtils]: 34: Hoare triple {14142#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647; {14142#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))))} is VALID [2021-09-13 23:57:31,082 INFO L281 TraceCheckUtils]: 35: Hoare triple {14142#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))))} assume !(0 != #t~nondet7);havoc #t~nondet7;assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {14142#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))))} is VALID [2021-09-13 23:57:31,082 INFO L281 TraceCheckUtils]: 36: Hoare triple {14142#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))))} assume !(0 != #t~nondet9);havoc #t~nondet9; {14142#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))))} is VALID [2021-09-13 23:57:31,083 INFO L281 TraceCheckUtils]: 37: Hoare triple {14142#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))))} assume 0 == ~pred~0.offset; {14142#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))))} is VALID [2021-09-13 23:57:31,083 INFO L281 TraceCheckUtils]: 38: Hoare triple {14142#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))))} assume ~pred~0.base < #StackHeapBarrier; {14142#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))))} is VALID [2021-09-13 23:57:31,084 INFO L281 TraceCheckUtils]: 39: Hoare triple {14142#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))))} assume 0 == ~pred~0.base || 1 == #valid[~pred~0.base];call ULTIMATE.dealloc(~pred~0.base, ~pred~0.offset);assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647; {14161#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((_destroy_in_nondeterministic_order_~pred~0.base Int)) (and (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 0) (or (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))))} is VALID [2021-09-13 23:57:31,084 INFO L281 TraceCheckUtils]: 40: Hoare triple {14161#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((_destroy_in_nondeterministic_order_~pred~0.base Int)) (and (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 0) (or (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))))} assume !(0 != #t~nondet11);havoc #t~nondet11; {14161#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((_destroy_in_nondeterministic_order_~pred~0.base Int)) (and (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 0) (or (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))))} is VALID [2021-09-13 23:57:31,085 INFO L281 TraceCheckUtils]: 41: Hoare triple {14161#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((_destroy_in_nondeterministic_order_~pred~0.base Int)) (and (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 0) (or (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))))} assume 0 == ~head.offset; {14168#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (exists ((_destroy_in_nondeterministic_order_~pred~0.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 0)))} is VALID [2021-09-13 23:57:31,085 INFO L281 TraceCheckUtils]: 42: Hoare triple {14168#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (exists ((_destroy_in_nondeterministic_order_~pred~0.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 0)))} assume ~head.base < #StackHeapBarrier; {14168#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (exists ((_destroy_in_nondeterministic_order_~pred~0.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 0)))} is VALID [2021-09-13 23:57:31,086 INFO L281 TraceCheckUtils]: 43: Hoare triple {14168#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (exists ((_destroy_in_nondeterministic_order_~pred~0.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 0)))} assume !(0 == ~head.base || 1 == #valid[~head.base]); {13992#false} is VALID [2021-09-13 23:57:31,086 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:57:31,086 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 23:57:31,344 INFO L388 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 29 treesize of output 25 [2021-09-13 23:57:31,549 INFO L388 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 13 treesize of output 11 [2021-09-13 23:57:31,551 INFO L388 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 24 treesize of output 22 [2021-09-13 23:57:31,662 INFO L354 Elim1Store]: treesize reduction 5, result has 37.5 percent of original size [2021-09-13 23:57:31,662 INFO L388 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 13 treesize of output 12 [2021-09-13 23:57:31,714 INFO L281 TraceCheckUtils]: 43: Hoare triple {14023#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} assume !(0 == ~head.base || 1 == #valid[~head.base]); {13992#false} is VALID [2021-09-13 23:57:31,715 INFO L281 TraceCheckUtils]: 42: Hoare triple {14023#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} assume ~head.base < #StackHeapBarrier; {14023#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} is VALID [2021-09-13 23:57:31,715 INFO L281 TraceCheckUtils]: 41: Hoare triple {14181#(or (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (< 0 _destroy_in_nondeterministic_order_~head.offset))} assume 0 == ~head.offset; {14023#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} is VALID [2021-09-13 23:57:31,715 INFO L281 TraceCheckUtils]: 40: Hoare triple {14181#(or (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (< 0 _destroy_in_nondeterministic_order_~head.offset))} assume !(0 != #t~nondet11);havoc #t~nondet11; {14181#(or (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (< 0 _destroy_in_nondeterministic_order_~head.offset))} is VALID [2021-09-13 23:57:31,716 INFO L281 TraceCheckUtils]: 39: Hoare triple {14188#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1))} assume 0 == ~pred~0.base || 1 == #valid[~pred~0.base];call ULTIMATE.dealloc(~pred~0.base, ~pred~0.offset);assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647; {14181#(or (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (< 0 _destroy_in_nondeterministic_order_~head.offset))} is VALID [2021-09-13 23:57:31,716 INFO L281 TraceCheckUtils]: 38: Hoare triple {14188#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1))} assume ~pred~0.base < #StackHeapBarrier; {14188#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1))} is VALID [2021-09-13 23:57:31,717 INFO L281 TraceCheckUtils]: 37: Hoare triple {14188#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1))} assume 0 == ~pred~0.offset; {14188#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1))} is VALID [2021-09-13 23:57:31,717 INFO L281 TraceCheckUtils]: 36: Hoare triple {14188#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1))} assume !(0 != #t~nondet9);havoc #t~nondet9; {14188#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1))} is VALID [2021-09-13 23:57:31,717 INFO L281 TraceCheckUtils]: 35: Hoare triple {14188#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1))} assume !(0 != #t~nondet7);havoc #t~nondet7;assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {14188#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1))} is VALID [2021-09-13 23:57:31,718 INFO L281 TraceCheckUtils]: 34: Hoare triple {14188#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647; {14188#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1))} is VALID [2021-09-13 23:57:31,718 INFO L281 TraceCheckUtils]: 33: Hoare triple {14207#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1) (< _destroy_in_nondeterministic_order_~head.offset 0))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4); srcloc: L587 {14188#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1))} is VALID [2021-09-13 23:57:31,718 INFO L281 TraceCheckUtils]: 32: Hoare triple {14211#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| |_destroy_in_nondeterministic_order_#t~mem5.base| 0) _destroy_in_nondeterministic_order_~head.base) 1) (< _destroy_in_nondeterministic_order_~head.offset 0))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {14207#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1) (< _destroy_in_nondeterministic_order_~head.offset 0))} is VALID [2021-09-13 23:57:31,719 INFO L281 TraceCheckUtils]: 31: Hoare triple {14130#(not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, 4 + ~head.offset, 4); srcloc: L586 {14211#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| |_destroy_in_nondeterministic_order_#t~mem5.base| 0) _destroy_in_nondeterministic_order_~head.base) 1) (< _destroy_in_nondeterministic_order_~head.offset 0))} is VALID [2021-09-13 23:57:31,720 INFO L281 TraceCheckUtils]: 30: Hoare triple {14126#(not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {14130#(not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)))} is VALID [2021-09-13 23:57:31,720 INFO L264 TraceCheckUtils]: 29: Hoare triple {14122#(not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {14126#(not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)))} is VALID [2021-09-13 23:57:31,721 INFO L281 TraceCheckUtils]: 28: Hoare triple {14118#(not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {14122#(not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)))} is VALID [2021-09-13 23:57:31,721 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {14111#(not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4)))} {13991#true} #197#return; {14118#(not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|))} is VALID [2021-09-13 23:57:31,722 INFO L281 TraceCheckUtils]: 26: Hoare triple {14111#(not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4)))} assume true; {14111#(not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4)))} is VALID [2021-09-13 23:57:31,722 INFO L281 TraceCheckUtils]: 25: Hoare triple {14107#(not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) dll_circular_create_~head~0.base))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {14111#(not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4)))} is VALID [2021-09-13 23:57:31,723 INFO L281 TraceCheckUtils]: 24: Hoare triple {14029#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {14107#(not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) dll_circular_create_~head~0.base))} is VALID [2021-09-13 23:57:31,723 INFO L281 TraceCheckUtils]: 23: Hoare triple {14029#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {14029#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:57:31,724 INFO L281 TraceCheckUtils]: 22: Hoare triple {14029#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} assume !(~len > 1); {14029#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:57:31,724 INFO L281 TraceCheckUtils]: 21: Hoare triple {14028#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {14029#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:57:31,725 INFO L281 TraceCheckUtils]: 20: Hoare triple {14028#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {14028#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:31,725 INFO L281 TraceCheckUtils]: 19: Hoare triple {14028#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {14028#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:31,725 INFO L281 TraceCheckUtils]: 18: Hoare triple {14028#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {14028#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:31,726 INFO L281 TraceCheckUtils]: 17: Hoare triple {14260#(not (= (select |#valid| dll_circular_create_~last~0.base) 0))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {14028#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:31,726 INFO L281 TraceCheckUtils]: 16: Hoare triple {14260#(not (= (select |#valid| dll_circular_create_~last~0.base) 0))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {14260#(not (= (select |#valid| dll_circular_create_~last~0.base) 0))} is VALID [2021-09-13 23:57:31,727 INFO L281 TraceCheckUtils]: 15: Hoare triple {14026#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {14260#(not (= (select |#valid| dll_circular_create_~last~0.base) 0))} is VALID [2021-09-13 23:57:31,727 INFO L281 TraceCheckUtils]: 14: Hoare triple {14026#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {14026#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:31,727 INFO L281 TraceCheckUtils]: 13: Hoare triple {14026#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {14026#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:31,728 INFO L281 TraceCheckUtils]: 12: Hoare triple {14026#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {14026#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:31,728 INFO L281 TraceCheckUtils]: 11: Hoare triple {13991#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {14026#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:31,728 INFO L281 TraceCheckUtils]: 10: Hoare triple {13991#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {13991#true} is VALID [2021-09-13 23:57:31,728 INFO L281 TraceCheckUtils]: 9: Hoare triple {13991#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {13991#true} is VALID [2021-09-13 23:57:31,728 INFO L281 TraceCheckUtils]: 8: Hoare triple {13991#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {13991#true} is VALID [2021-09-13 23:57:31,728 INFO L281 TraceCheckUtils]: 7: Hoare triple {13991#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {13991#true} is VALID [2021-09-13 23:57:31,728 INFO L264 TraceCheckUtils]: 6: Hoare triple {13991#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {13991#true} is VALID [2021-09-13 23:57:31,728 INFO L281 TraceCheckUtils]: 5: Hoare triple {13991#true} ~len~0 := 3; {13991#true} is VALID [2021-09-13 23:57:31,728 INFO L264 TraceCheckUtils]: 4: Hoare triple {13991#true} call #t~ret13 := main(); {13991#true} is VALID [2021-09-13 23:57:31,728 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {13991#true} {13991#true} #201#return; {13991#true} is VALID [2021-09-13 23:57:31,729 INFO L281 TraceCheckUtils]: 2: Hoare triple {13991#true} assume true; {13991#true} is VALID [2021-09-13 23:57:31,729 INFO L281 TraceCheckUtils]: 1: Hoare triple {13991#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {13991#true} is VALID [2021-09-13 23:57:31,729 INFO L264 TraceCheckUtils]: 0: Hoare triple {13991#true} call ULTIMATE.init(); {13991#true} is VALID [2021-09-13 23:57:31,729 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:57:31,729 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleZ3 [417475527] provided 0 perfect and 2 imperfect interpolant sequences [2021-09-13 23:57:31,729 INFO L186 FreeRefinementEngine]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2021-09-13 23:57:31,729 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 16, 16] total 32 [2021-09-13 23:57:31,729 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1603544587] [2021-09-13 23:57:31,730 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 30 states have (on average 2.4) internal successors, (72), 27 states have internal predecessors, (72), 3 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) Word has length 44 [2021-09-13 23:57:31,730 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:57:31,730 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 33 states, 30 states have (on average 2.4) internal successors, (72), 27 states have internal predecessors, (72), 3 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-13 23:57:31,788 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:57:31,788 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 33 states [2021-09-13 23:57:31,788 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 23:57:31,788 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2021-09-13 23:57:31,789 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=960, Unknown=0, NotChecked=0, Total=1056 [2021-09-13 23:57:31,789 INFO L87 Difference]: Start difference. First operand 94 states and 99 transitions. Second operand has 33 states, 30 states have (on average 2.4) internal successors, (72), 27 states have internal predecessors, (72), 3 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-13 23:57:34,483 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:57:34,483 INFO L93 Difference]: Finished difference Result 95 states and 100 transitions. [2021-09-13 23:57:34,483 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2021-09-13 23:57:34,483 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 30 states have (on average 2.4) internal successors, (72), 27 states have internal predecessors, (72), 3 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) Word has length 44 [2021-09-13 23:57:34,483 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:57:34,483 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 30 states have (on average 2.4) internal successors, (72), 27 states have internal predecessors, (72), 3 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-13 23:57:34,484 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 100 transitions. [2021-09-13 23:57:34,484 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 30 states have (on average 2.4) internal successors, (72), 27 states have internal predecessors, (72), 3 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-13 23:57:34,485 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 100 transitions. [2021-09-13 23:57:34,485 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 100 transitions. [2021-09-13 23:57:34,569 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:57:34,570 INFO L225 Difference]: With dead ends: 95 [2021-09-13 23:57:34,570 INFO L226 Difference]: Without dead ends: 95 [2021-09-13 23:57:34,570 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 119 GetRequests, 74 SyntacticMatches, 1 SemanticMatches, 44 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 280 ImplicationChecksByTransitivity, 847.66ms TimeCoverageRelationStatistics Valid=222, Invalid=1848, Unknown=0, NotChecked=0, Total=2070 [2021-09-13 23:57:34,571 INFO L928 BasicCegarLoop]: 7 mSDtfsCounter, 247 mSDsluCounter, 725 mSDsCounter, 0 mSdLazyCounter, 1670 mSolverCounterSat, 36 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1158.81ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 248 SdHoareTripleChecker+Valid, 96 SdHoareTripleChecker+Invalid, 1814 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 3.78ms SdHoareTripleChecker+Time, 36 IncrementalHoareTripleChecker+Valid, 1670 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 108 IncrementalHoareTripleChecker+Unchecked, 1167.49ms IncrementalHoareTripleChecker+Time [2021-09-13 23:57:34,571 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [248 Valid, 96 Invalid, 1814 Unknown, 0 Unchecked, 3.78ms Time], IncrementalHoareTripleChecker [36 Valid, 1670 Invalid, 0 Unknown, 108 Unchecked, 1167.49ms Time] [2021-09-13 23:57:34,571 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states. [2021-09-13 23:57:34,572 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 93. [2021-09-13 23:57:34,572 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:57:34,572 INFO L82 GeneralOperation]: Start isEquivalent. First operand 95 states. Second operand has 93 states, 79 states have (on average 1.1518987341772151) internal successors, (91), 85 states have internal predecessors, (91), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:57:34,573 INFO L74 IsIncluded]: Start isIncluded. First operand 95 states. Second operand has 93 states, 79 states have (on average 1.1518987341772151) internal successors, (91), 85 states have internal predecessors, (91), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:57:34,573 INFO L87 Difference]: Start difference. First operand 95 states. Second operand has 93 states, 79 states have (on average 1.1518987341772151) internal successors, (91), 85 states have internal predecessors, (91), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:57:34,574 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:57:34,574 INFO L93 Difference]: Finished difference Result 95 states and 100 transitions. [2021-09-13 23:57:34,574 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 100 transitions. [2021-09-13 23:57:34,574 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:57:34,574 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:57:34,574 INFO L74 IsIncluded]: Start isIncluded. First operand has 93 states, 79 states have (on average 1.1518987341772151) internal successors, (91), 85 states have internal predecessors, (91), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 95 states. [2021-09-13 23:57:34,574 INFO L87 Difference]: Start difference. First operand has 93 states, 79 states have (on average 1.1518987341772151) internal successors, (91), 85 states have internal predecessors, (91), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 95 states. [2021-09-13 23:57:34,576 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:57:34,576 INFO L93 Difference]: Finished difference Result 95 states and 100 transitions. [2021-09-13 23:57:34,576 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 100 transitions. [2021-09-13 23:57:34,576 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:57:34,576 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:57:34,576 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:57:34,576 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:57:34,576 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 93 states, 79 states have (on average 1.1518987341772151) internal successors, (91), 85 states have internal predecessors, (91), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:57:34,577 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 98 transitions. [2021-09-13 23:57:34,577 INFO L78 Accepts]: Start accepts. Automaton has 93 states and 98 transitions. Word has length 44 [2021-09-13 23:57:34,578 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:57:34,578 INFO L470 AbstractCegarLoop]: Abstraction has 93 states and 98 transitions. [2021-09-13 23:57:34,578 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 33 states, 30 states have (on average 2.4) internal successors, (72), 27 states have internal predecessors, (72), 3 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-13 23:57:34,578 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 98 transitions. [2021-09-13 23:57:34,578 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2021-09-13 23:57:34,578 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:57:34,578 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 23:57:34,598 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2021-09-13 23:57:34,788 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable23 [2021-09-13 23:57:34,789 INFO L402 AbstractCegarLoop]: === Iteration 25 === Targeting _destroy_in_nondeterministic_orderErr39ASSERT_VIOLATIONMEMORY_FREE === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:57:34,789 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:57:34,789 INFO L82 PathProgramCache]: Analyzing trace with hash 1596671866, now seen corresponding path program 1 times [2021-09-13 23:57:34,789 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 23:57:34,789 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1931888916] [2021-09-13 23:57:34,789 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:57:34,789 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 23:57:34,801 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:57:34,922 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2021-09-13 23:57:34,923 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:57:34,925 INFO L281 TraceCheckUtils]: 0: Hoare triple {14748#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {14715#true} is VALID [2021-09-13 23:57:34,925 INFO L281 TraceCheckUtils]: 1: Hoare triple {14715#true} assume true; {14715#true} is VALID [2021-09-13 23:57:34,925 INFO L276 TraceCheckUtils]: 2: Hoare quadruple {14715#true} {14715#true} #201#return; {14715#true} is VALID [2021-09-13 23:57:34,936 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2021-09-13 23:57:34,945 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:57:35,051 INFO L281 TraceCheckUtils]: 0: Hoare triple {14749#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {14715#true} is VALID [2021-09-13 23:57:35,051 INFO L281 TraceCheckUtils]: 1: Hoare triple {14715#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {14715#true} is VALID [2021-09-13 23:57:35,051 INFO L281 TraceCheckUtils]: 2: Hoare triple {14715#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {14715#true} is VALID [2021-09-13 23:57:35,052 INFO L281 TraceCheckUtils]: 3: Hoare triple {14715#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {14715#true} is VALID [2021-09-13 23:57:35,052 INFO L281 TraceCheckUtils]: 4: Hoare triple {14715#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {14750#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:35,052 INFO L281 TraceCheckUtils]: 5: Hoare triple {14750#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {14750#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:35,053 INFO L281 TraceCheckUtils]: 6: Hoare triple {14750#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {14750#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:35,053 INFO L281 TraceCheckUtils]: 7: Hoare triple {14750#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {14750#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:35,053 INFO L281 TraceCheckUtils]: 8: Hoare triple {14750#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {14751#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:57:35,054 INFO L281 TraceCheckUtils]: 9: Hoare triple {14751#(= (select |#valid| dll_circular_create_~last~0.base) 1)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {14751#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:57:35,054 INFO L281 TraceCheckUtils]: 10: Hoare triple {14751#(= (select |#valid| dll_circular_create_~last~0.base) 1)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {14752#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:35,055 INFO L281 TraceCheckUtils]: 11: Hoare triple {14752#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {14752#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:35,055 INFO L281 TraceCheckUtils]: 12: Hoare triple {14752#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {14752#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:35,056 INFO L281 TraceCheckUtils]: 13: Hoare triple {14752#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {14752#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:35,056 INFO L281 TraceCheckUtils]: 14: Hoare triple {14752#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {14753#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:57:35,056 INFO L281 TraceCheckUtils]: 15: Hoare triple {14753#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} assume !(~len > 1); {14753#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:57:35,057 INFO L281 TraceCheckUtils]: 16: Hoare triple {14753#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {14753#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:57:35,058 INFO L281 TraceCheckUtils]: 17: Hoare triple {14753#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {14754#(and (= dll_circular_create_~head~0.offset 0) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:57:35,058 INFO L281 TraceCheckUtils]: 18: Hoare triple {14754#(and (= dll_circular_create_~head~0.offset 0) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) dll_circular_create_~head~0.base)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {14755#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:57:35,058 INFO L281 TraceCheckUtils]: 19: Hoare triple {14755#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} assume true; {14755#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:57:35,059 INFO L276 TraceCheckUtils]: 20: Hoare quadruple {14755#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} {14715#true} #197#return; {14741#(and (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|)) (= |main_#t~ret12.offset| 0))} is VALID [2021-09-13 23:57:35,060 INFO L264 TraceCheckUtils]: 0: Hoare triple {14715#true} call ULTIMATE.init(); {14748#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2021-09-13 23:57:35,060 INFO L281 TraceCheckUtils]: 1: Hoare triple {14748#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {14715#true} is VALID [2021-09-13 23:57:35,060 INFO L281 TraceCheckUtils]: 2: Hoare triple {14715#true} assume true; {14715#true} is VALID [2021-09-13 23:57:35,060 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {14715#true} {14715#true} #201#return; {14715#true} is VALID [2021-09-13 23:57:35,060 INFO L264 TraceCheckUtils]: 4: Hoare triple {14715#true} call #t~ret13 := main(); {14715#true} is VALID [2021-09-13 23:57:35,061 INFO L281 TraceCheckUtils]: 5: Hoare triple {14715#true} ~len~0 := 3; {14715#true} is VALID [2021-09-13 23:57:35,061 INFO L264 TraceCheckUtils]: 6: Hoare triple {14715#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {14749#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2021-09-13 23:57:35,061 INFO L281 TraceCheckUtils]: 7: Hoare triple {14749#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {14715#true} is VALID [2021-09-13 23:57:35,061 INFO L281 TraceCheckUtils]: 8: Hoare triple {14715#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {14715#true} is VALID [2021-09-13 23:57:35,062 INFO L281 TraceCheckUtils]: 9: Hoare triple {14715#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {14715#true} is VALID [2021-09-13 23:57:35,062 INFO L281 TraceCheckUtils]: 10: Hoare triple {14715#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {14715#true} is VALID [2021-09-13 23:57:35,062 INFO L281 TraceCheckUtils]: 11: Hoare triple {14715#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {14750#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:35,062 INFO L281 TraceCheckUtils]: 12: Hoare triple {14750#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {14750#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:35,063 INFO L281 TraceCheckUtils]: 13: Hoare triple {14750#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {14750#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:35,063 INFO L281 TraceCheckUtils]: 14: Hoare triple {14750#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {14750#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:35,064 INFO L281 TraceCheckUtils]: 15: Hoare triple {14750#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {14751#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:57:35,064 INFO L281 TraceCheckUtils]: 16: Hoare triple {14751#(= (select |#valid| dll_circular_create_~last~0.base) 1)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {14751#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:57:35,065 INFO L281 TraceCheckUtils]: 17: Hoare triple {14751#(= (select |#valid| dll_circular_create_~last~0.base) 1)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {14752#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:35,065 INFO L281 TraceCheckUtils]: 18: Hoare triple {14752#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {14752#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:35,066 INFO L281 TraceCheckUtils]: 19: Hoare triple {14752#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {14752#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:35,066 INFO L281 TraceCheckUtils]: 20: Hoare triple {14752#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {14752#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:35,067 INFO L281 TraceCheckUtils]: 21: Hoare triple {14752#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {14753#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:57:35,067 INFO L281 TraceCheckUtils]: 22: Hoare triple {14753#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} assume !(~len > 1); {14753#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:57:35,068 INFO L281 TraceCheckUtils]: 23: Hoare triple {14753#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {14753#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:57:35,068 INFO L281 TraceCheckUtils]: 24: Hoare triple {14753#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {14754#(and (= dll_circular_create_~head~0.offset 0) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:57:35,069 INFO L281 TraceCheckUtils]: 25: Hoare triple {14754#(and (= dll_circular_create_~head~0.offset 0) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) dll_circular_create_~head~0.base)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {14755#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:57:35,069 INFO L281 TraceCheckUtils]: 26: Hoare triple {14755#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} assume true; {14755#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:57:35,070 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {14755#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} {14715#true} #197#return; {14741#(and (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|)) (= |main_#t~ret12.offset| 0))} is VALID [2021-09-13 23:57:35,071 INFO L281 TraceCheckUtils]: 28: Hoare triple {14741#(and (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|)) (= |main_#t~ret12.offset| 0))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {14742#(and (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))) (= 0 main_~head~1.offset))} is VALID [2021-09-13 23:57:35,071 INFO L264 TraceCheckUtils]: 29: Hoare triple {14742#(and (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))) (= 0 main_~head~1.offset))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {14743#(and (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))) (= |_destroy_in_nondeterministic_order_#in~head.offset| 0))} is VALID [2021-09-13 23:57:35,072 INFO L281 TraceCheckUtils]: 30: Hoare triple {14743#(and (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))) (= |_destroy_in_nondeterministic_order_#in~head.offset| 0))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {14744#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)) _destroy_in_nondeterministic_order_~head.base)))} is VALID [2021-09-13 23:57:35,072 INFO L281 TraceCheckUtils]: 31: Hoare triple {14744#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)) _destroy_in_nondeterministic_order_~head.base)))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, 4 + ~head.offset, 4); srcloc: L586 {14745#(and (not (= _destroy_in_nondeterministic_order_~head.base |_destroy_in_nondeterministic_order_#t~mem5.base|)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.offset 0))} is VALID [2021-09-13 23:57:35,073 INFO L281 TraceCheckUtils]: 32: Hoare triple {14745#(and (not (= _destroy_in_nondeterministic_order_~head.base |_destroy_in_nondeterministic_order_#t~mem5.base|)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.offset 0))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {14746#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} is VALID [2021-09-13 23:57:35,073 INFO L281 TraceCheckUtils]: 33: Hoare triple {14746#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4); srcloc: L587 {14746#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} is VALID [2021-09-13 23:57:35,074 INFO L281 TraceCheckUtils]: 34: Hoare triple {14746#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647; {14746#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} is VALID [2021-09-13 23:57:35,074 INFO L281 TraceCheckUtils]: 35: Hoare triple {14746#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} assume !(0 != #t~nondet7);havoc #t~nondet7;assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {14746#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} is VALID [2021-09-13 23:57:35,075 INFO L281 TraceCheckUtils]: 36: Hoare triple {14746#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} assume !(0 != #t~nondet9);havoc #t~nondet9; {14746#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} is VALID [2021-09-13 23:57:35,075 INFO L281 TraceCheckUtils]: 37: Hoare triple {14746#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} assume 0 == ~pred~0.offset; {14746#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} is VALID [2021-09-13 23:57:35,076 INFO L281 TraceCheckUtils]: 38: Hoare triple {14746#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} assume ~pred~0.base < #StackHeapBarrier; {14746#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} is VALID [2021-09-13 23:57:35,076 INFO L281 TraceCheckUtils]: 39: Hoare triple {14746#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} assume 0 == ~pred~0.base || 1 == #valid[~pred~0.base];call ULTIMATE.dealloc(~pred~0.base, ~pred~0.offset);assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647; {14747#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} is VALID [2021-09-13 23:57:35,077 INFO L281 TraceCheckUtils]: 40: Hoare triple {14747#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} assume 0 != #t~nondet11;havoc #t~nondet11; {14747#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} is VALID [2021-09-13 23:57:35,077 INFO L281 TraceCheckUtils]: 41: Hoare triple {14747#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} assume 0 == ~head.offset; {14747#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} is VALID [2021-09-13 23:57:35,078 INFO L281 TraceCheckUtils]: 42: Hoare triple {14747#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} assume ~head.base < #StackHeapBarrier; {14747#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} is VALID [2021-09-13 23:57:35,078 INFO L281 TraceCheckUtils]: 43: Hoare triple {14747#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} assume !(0 == ~head.base || 1 == #valid[~head.base]); {14716#false} is VALID [2021-09-13 23:57:35,078 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:57:35,078 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 23:57:35,078 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1931888916] [2021-09-13 23:57:35,079 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1931888916] provided 0 perfect and 1 imperfect interpolant sequences [2021-09-13 23:57:35,079 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1910196614] [2021-09-13 23:57:35,079 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:57:35,079 INFO L170 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 23:57:35,079 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-09-13 23:57:35,098 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2021-09-13 23:57:35,161 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2021-09-13 23:57:35,244 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:57:35,246 INFO L263 TraceCheckSpWp]: Trace formula consists of 206 conjuncts, 33 conjunts are in the unsatisfiable core [2021-09-13 23:57:35,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:57:35,256 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 23:57:35,355 INFO L354 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2021-09-13 23:57:35,356 INFO L388 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 [2021-09-13 23:57:35,467 INFO L388 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 12 [2021-09-13 23:57:35,614 INFO L354 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2021-09-13 23:57:35,614 INFO L388 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 2 new quantified variables, introduced 1 case distinctions, treesize of input 18 treesize of output 18 [2021-09-13 23:57:35,869 INFO L354 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2021-09-13 23:57:35,870 INFO L388 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 21 treesize of output 27 [2021-09-13 23:57:36,150 INFO L264 TraceCheckUtils]: 0: Hoare triple {14715#true} call ULTIMATE.init(); {14715#true} is VALID [2021-09-13 23:57:36,151 INFO L281 TraceCheckUtils]: 1: Hoare triple {14715#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {14715#true} is VALID [2021-09-13 23:57:36,151 INFO L281 TraceCheckUtils]: 2: Hoare triple {14715#true} assume true; {14715#true} is VALID [2021-09-13 23:57:36,151 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {14715#true} {14715#true} #201#return; {14715#true} is VALID [2021-09-13 23:57:36,151 INFO L264 TraceCheckUtils]: 4: Hoare triple {14715#true} call #t~ret13 := main(); {14715#true} is VALID [2021-09-13 23:57:36,151 INFO L281 TraceCheckUtils]: 5: Hoare triple {14715#true} ~len~0 := 3; {14715#true} is VALID [2021-09-13 23:57:36,151 INFO L264 TraceCheckUtils]: 6: Hoare triple {14715#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {14715#true} is VALID [2021-09-13 23:57:36,151 INFO L281 TraceCheckUtils]: 7: Hoare triple {14715#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {14715#true} is VALID [2021-09-13 23:57:36,151 INFO L281 TraceCheckUtils]: 8: Hoare triple {14715#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {14715#true} is VALID [2021-09-13 23:57:36,151 INFO L281 TraceCheckUtils]: 9: Hoare triple {14715#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {14715#true} is VALID [2021-09-13 23:57:36,151 INFO L281 TraceCheckUtils]: 10: Hoare triple {14715#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {14715#true} is VALID [2021-09-13 23:57:36,152 INFO L281 TraceCheckUtils]: 11: Hoare triple {14715#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {14750#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:36,152 INFO L281 TraceCheckUtils]: 12: Hoare triple {14750#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {14750#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:36,152 INFO L281 TraceCheckUtils]: 13: Hoare triple {14750#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {14750#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:36,153 INFO L281 TraceCheckUtils]: 14: Hoare triple {14750#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {14750#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:36,153 INFO L281 TraceCheckUtils]: 15: Hoare triple {14750#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {14751#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:57:36,154 INFO L281 TraceCheckUtils]: 16: Hoare triple {14751#(= (select |#valid| dll_circular_create_~last~0.base) 1)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {14751#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:57:36,154 INFO L281 TraceCheckUtils]: 17: Hoare triple {14751#(= (select |#valid| dll_circular_create_~last~0.base) 1)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {14752#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:36,155 INFO L281 TraceCheckUtils]: 18: Hoare triple {14752#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {14752#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:36,155 INFO L281 TraceCheckUtils]: 19: Hoare triple {14752#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {14752#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:36,156 INFO L281 TraceCheckUtils]: 20: Hoare triple {14752#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {14752#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:36,156 INFO L281 TraceCheckUtils]: 21: Hoare triple {14752#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {14753#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:57:36,156 INFO L281 TraceCheckUtils]: 22: Hoare triple {14753#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} assume !(~len > 1); {14753#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:57:36,157 INFO L281 TraceCheckUtils]: 23: Hoare triple {14753#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {14753#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:57:36,158 INFO L281 TraceCheckUtils]: 24: Hoare triple {14753#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {14831#(not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) dll_circular_create_~head~0.base))} is VALID [2021-09-13 23:57:36,158 INFO L281 TraceCheckUtils]: 25: Hoare triple {14831#(not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) dll_circular_create_~head~0.base))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {14835#(not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4)))} is VALID [2021-09-13 23:57:36,158 INFO L281 TraceCheckUtils]: 26: Hoare triple {14835#(not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4)))} assume true; {14835#(not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4)))} is VALID [2021-09-13 23:57:36,159 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {14835#(not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4)))} {14715#true} #197#return; {14842#(not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|))} is VALID [2021-09-13 23:57:36,160 INFO L281 TraceCheckUtils]: 28: Hoare triple {14842#(not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {14846#(not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)))} is VALID [2021-09-13 23:57:36,160 INFO L264 TraceCheckUtils]: 29: Hoare triple {14846#(not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {14850#(not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)))} is VALID [2021-09-13 23:57:36,161 INFO L281 TraceCheckUtils]: 30: Hoare triple {14850#(not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {14854#(not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)))} is VALID [2021-09-13 23:57:36,161 INFO L281 TraceCheckUtils]: 31: Hoare triple {14854#(not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, 4 + ~head.offset, 4); srcloc: L586 {14858#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.base |_destroy_in_nondeterministic_order_#t~mem5.base|)) (not (= _destroy_in_nondeterministic_order_~head.offset 0))))} is VALID [2021-09-13 23:57:36,162 INFO L281 TraceCheckUtils]: 32: Hoare triple {14858#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.base |_destroy_in_nondeterministic_order_#t~mem5.base|)) (not (= _destroy_in_nondeterministic_order_~head.offset 0))))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {14862#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))))} is VALID [2021-09-13 23:57:36,162 INFO L281 TraceCheckUtils]: 33: Hoare triple {14862#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4); srcloc: L587 {14866#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))))} is VALID [2021-09-13 23:57:36,163 INFO L281 TraceCheckUtils]: 34: Hoare triple {14866#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647; {14866#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))))} is VALID [2021-09-13 23:57:36,163 INFO L281 TraceCheckUtils]: 35: Hoare triple {14866#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))))} assume !(0 != #t~nondet7);havoc #t~nondet7;assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {14866#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))))} is VALID [2021-09-13 23:57:36,164 INFO L281 TraceCheckUtils]: 36: Hoare triple {14866#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))))} assume !(0 != #t~nondet9);havoc #t~nondet9; {14866#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))))} is VALID [2021-09-13 23:57:36,164 INFO L281 TraceCheckUtils]: 37: Hoare triple {14866#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))))} assume 0 == ~pred~0.offset; {14866#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))))} is VALID [2021-09-13 23:57:36,165 INFO L281 TraceCheckUtils]: 38: Hoare triple {14866#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))))} assume ~pred~0.base < #StackHeapBarrier; {14866#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))))} is VALID [2021-09-13 23:57:36,166 INFO L281 TraceCheckUtils]: 39: Hoare triple {14866#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))))} assume 0 == ~pred~0.base || 1 == #valid[~pred~0.base];call ULTIMATE.dealloc(~pred~0.base, ~pred~0.offset);assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647; {14885#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((_destroy_in_nondeterministic_order_~pred~0.base Int)) (and (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 0) (or (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))))} is VALID [2021-09-13 23:57:36,166 INFO L281 TraceCheckUtils]: 40: Hoare triple {14885#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((_destroy_in_nondeterministic_order_~pred~0.base Int)) (and (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 0) (or (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))))} assume 0 != #t~nondet11;havoc #t~nondet11; {14885#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((_destroy_in_nondeterministic_order_~pred~0.base Int)) (and (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 0) (or (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))))} is VALID [2021-09-13 23:57:36,167 INFO L281 TraceCheckUtils]: 41: Hoare triple {14885#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((_destroy_in_nondeterministic_order_~pred~0.base Int)) (and (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 0) (or (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))))} assume 0 == ~head.offset; {14892#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (exists ((_destroy_in_nondeterministic_order_~pred~0.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 0)))} is VALID [2021-09-13 23:57:36,167 INFO L281 TraceCheckUtils]: 42: Hoare triple {14892#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (exists ((_destroy_in_nondeterministic_order_~pred~0.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 0)))} assume ~head.base < #StackHeapBarrier; {14892#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (exists ((_destroy_in_nondeterministic_order_~pred~0.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 0)))} is VALID [2021-09-13 23:57:36,168 INFO L281 TraceCheckUtils]: 43: Hoare triple {14892#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (exists ((_destroy_in_nondeterministic_order_~pred~0.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 0)))} assume !(0 == ~head.base || 1 == #valid[~head.base]); {14716#false} is VALID [2021-09-13 23:57:36,168 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:57:36,168 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 23:57:36,446 INFO L388 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 29 treesize of output 25 [2021-09-13 23:57:36,659 INFO L388 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 13 treesize of output 11 [2021-09-13 23:57:36,661 INFO L388 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 24 treesize of output 22 [2021-09-13 23:57:36,777 INFO L354 Elim1Store]: treesize reduction 5, result has 37.5 percent of original size [2021-09-13 23:57:36,777 INFO L388 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 13 treesize of output 12 [2021-09-13 23:57:36,830 INFO L281 TraceCheckUtils]: 43: Hoare triple {14747#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} assume !(0 == ~head.base || 1 == #valid[~head.base]); {14716#false} is VALID [2021-09-13 23:57:36,831 INFO L281 TraceCheckUtils]: 42: Hoare triple {14747#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} assume ~head.base < #StackHeapBarrier; {14747#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} is VALID [2021-09-13 23:57:36,831 INFO L281 TraceCheckUtils]: 41: Hoare triple {14905#(or (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (< 0 _destroy_in_nondeterministic_order_~head.offset))} assume 0 == ~head.offset; {14747#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} is VALID [2021-09-13 23:57:36,831 INFO L281 TraceCheckUtils]: 40: Hoare triple {14905#(or (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (< 0 _destroy_in_nondeterministic_order_~head.offset))} assume 0 != #t~nondet11;havoc #t~nondet11; {14905#(or (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (< 0 _destroy_in_nondeterministic_order_~head.offset))} is VALID [2021-09-13 23:57:36,832 INFO L281 TraceCheckUtils]: 39: Hoare triple {14912#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1))} assume 0 == ~pred~0.base || 1 == #valid[~pred~0.base];call ULTIMATE.dealloc(~pred~0.base, ~pred~0.offset);assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647; {14905#(or (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (< 0 _destroy_in_nondeterministic_order_~head.offset))} is VALID [2021-09-13 23:57:36,832 INFO L281 TraceCheckUtils]: 38: Hoare triple {14912#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1))} assume ~pred~0.base < #StackHeapBarrier; {14912#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1))} is VALID [2021-09-13 23:57:36,833 INFO L281 TraceCheckUtils]: 37: Hoare triple {14912#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1))} assume 0 == ~pred~0.offset; {14912#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1))} is VALID [2021-09-13 23:57:36,833 INFO L281 TraceCheckUtils]: 36: Hoare triple {14912#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1))} assume !(0 != #t~nondet9);havoc #t~nondet9; {14912#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1))} is VALID [2021-09-13 23:57:36,833 INFO L281 TraceCheckUtils]: 35: Hoare triple {14912#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1))} assume !(0 != #t~nondet7);havoc #t~nondet7;assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {14912#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1))} is VALID [2021-09-13 23:57:36,834 INFO L281 TraceCheckUtils]: 34: Hoare triple {14912#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647; {14912#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1))} is VALID [2021-09-13 23:57:36,834 INFO L281 TraceCheckUtils]: 33: Hoare triple {14931#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1) (< _destroy_in_nondeterministic_order_~head.offset 0))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4); srcloc: L587 {14912#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1))} is VALID [2021-09-13 23:57:36,835 INFO L281 TraceCheckUtils]: 32: Hoare triple {14935#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| |_destroy_in_nondeterministic_order_#t~mem5.base| 0) _destroy_in_nondeterministic_order_~head.base) 1) (< _destroy_in_nondeterministic_order_~head.offset 0))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {14931#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1) (< _destroy_in_nondeterministic_order_~head.offset 0))} is VALID [2021-09-13 23:57:36,835 INFO L281 TraceCheckUtils]: 31: Hoare triple {14854#(not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, 4 + ~head.offset, 4); srcloc: L586 {14935#(or (< 0 _destroy_in_nondeterministic_order_~head.offset) (= (select (store |#valid| |_destroy_in_nondeterministic_order_#t~mem5.base| 0) _destroy_in_nondeterministic_order_~head.base) 1) (< _destroy_in_nondeterministic_order_~head.offset 0))} is VALID [2021-09-13 23:57:36,836 INFO L281 TraceCheckUtils]: 30: Hoare triple {14850#(not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {14854#(not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)))} is VALID [2021-09-13 23:57:36,836 INFO L264 TraceCheckUtils]: 29: Hoare triple {14846#(not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {14850#(not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)))} is VALID [2021-09-13 23:57:36,837 INFO L281 TraceCheckUtils]: 28: Hoare triple {14842#(not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {14846#(not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)))} is VALID [2021-09-13 23:57:36,838 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {14835#(not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4)))} {14715#true} #197#return; {14842#(not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|))} is VALID [2021-09-13 23:57:36,838 INFO L281 TraceCheckUtils]: 26: Hoare triple {14835#(not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4)))} assume true; {14835#(not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4)))} is VALID [2021-09-13 23:57:36,838 INFO L281 TraceCheckUtils]: 25: Hoare triple {14831#(not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) dll_circular_create_~head~0.base))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {14835#(not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4)))} is VALID [2021-09-13 23:57:36,839 INFO L281 TraceCheckUtils]: 24: Hoare triple {14753#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {14831#(not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) dll_circular_create_~head~0.base))} is VALID [2021-09-13 23:57:36,839 INFO L281 TraceCheckUtils]: 23: Hoare triple {14753#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {14753#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:57:36,840 INFO L281 TraceCheckUtils]: 22: Hoare triple {14753#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} assume !(~len > 1); {14753#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:57:36,840 INFO L281 TraceCheckUtils]: 21: Hoare triple {14752#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {14753#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:57:36,841 INFO L281 TraceCheckUtils]: 20: Hoare triple {14752#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {14752#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:36,841 INFO L281 TraceCheckUtils]: 19: Hoare triple {14752#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {14752#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:36,842 INFO L281 TraceCheckUtils]: 18: Hoare triple {14752#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {14752#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:36,842 INFO L281 TraceCheckUtils]: 17: Hoare triple {14984#(not (= (select |#valid| dll_circular_create_~last~0.base) 0))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {14752#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:57:36,842 INFO L281 TraceCheckUtils]: 16: Hoare triple {14984#(not (= (select |#valid| dll_circular_create_~last~0.base) 0))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {14984#(not (= (select |#valid| dll_circular_create_~last~0.base) 0))} is VALID [2021-09-13 23:57:36,843 INFO L281 TraceCheckUtils]: 15: Hoare triple {14750#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {14984#(not (= (select |#valid| dll_circular_create_~last~0.base) 0))} is VALID [2021-09-13 23:57:36,843 INFO L281 TraceCheckUtils]: 14: Hoare triple {14750#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {14750#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:36,844 INFO L281 TraceCheckUtils]: 13: Hoare triple {14750#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {14750#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:36,844 INFO L281 TraceCheckUtils]: 12: Hoare triple {14750#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {14750#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:36,844 INFO L281 TraceCheckUtils]: 11: Hoare triple {14715#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {14750#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:57:36,844 INFO L281 TraceCheckUtils]: 10: Hoare triple {14715#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {14715#true} is VALID [2021-09-13 23:57:36,844 INFO L281 TraceCheckUtils]: 9: Hoare triple {14715#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {14715#true} is VALID [2021-09-13 23:57:36,844 INFO L281 TraceCheckUtils]: 8: Hoare triple {14715#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {14715#true} is VALID [2021-09-13 23:57:36,844 INFO L281 TraceCheckUtils]: 7: Hoare triple {14715#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {14715#true} is VALID [2021-09-13 23:57:36,844 INFO L264 TraceCheckUtils]: 6: Hoare triple {14715#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {14715#true} is VALID [2021-09-13 23:57:36,845 INFO L281 TraceCheckUtils]: 5: Hoare triple {14715#true} ~len~0 := 3; {14715#true} is VALID [2021-09-13 23:57:36,845 INFO L264 TraceCheckUtils]: 4: Hoare triple {14715#true} call #t~ret13 := main(); {14715#true} is VALID [2021-09-13 23:57:36,845 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {14715#true} {14715#true} #201#return; {14715#true} is VALID [2021-09-13 23:57:36,845 INFO L281 TraceCheckUtils]: 2: Hoare triple {14715#true} assume true; {14715#true} is VALID [2021-09-13 23:57:36,845 INFO L281 TraceCheckUtils]: 1: Hoare triple {14715#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {14715#true} is VALID [2021-09-13 23:57:36,845 INFO L264 TraceCheckUtils]: 0: Hoare triple {14715#true} call ULTIMATE.init(); {14715#true} is VALID [2021-09-13 23:57:36,845 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:57:36,845 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1910196614] provided 0 perfect and 2 imperfect interpolant sequences [2021-09-13 23:57:36,845 INFO L186 FreeRefinementEngine]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2021-09-13 23:57:36,845 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 16, 16] total 32 [2021-09-13 23:57:36,845 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [976609984] [2021-09-13 23:57:36,846 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 30 states have (on average 2.4) internal successors, (72), 27 states have internal predecessors, (72), 3 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) Word has length 44 [2021-09-13 23:57:36,846 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:57:36,846 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 33 states, 30 states have (on average 2.4) internal successors, (72), 27 states have internal predecessors, (72), 3 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-13 23:57:36,909 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:57:36,909 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 33 states [2021-09-13 23:57:36,909 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 23:57:36,909 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2021-09-13 23:57:36,910 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=960, Unknown=0, NotChecked=0, Total=1056 [2021-09-13 23:57:36,910 INFO L87 Difference]: Start difference. First operand 93 states and 98 transitions. Second operand has 33 states, 30 states have (on average 2.4) internal successors, (72), 27 states have internal predecessors, (72), 3 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-13 23:57:39,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:57:39,595 INFO L93 Difference]: Finished difference Result 94 states and 99 transitions. [2021-09-13 23:57:39,595 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2021-09-13 23:57:39,595 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 30 states have (on average 2.4) internal successors, (72), 27 states have internal predecessors, (72), 3 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) Word has length 44 [2021-09-13 23:57:39,596 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:57:39,596 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 30 states have (on average 2.4) internal successors, (72), 27 states have internal predecessors, (72), 3 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-13 23:57:39,597 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 99 transitions. [2021-09-13 23:57:39,598 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 30 states have (on average 2.4) internal successors, (72), 27 states have internal predecessors, (72), 3 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-13 23:57:39,599 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 99 transitions. [2021-09-13 23:57:39,599 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 99 transitions. [2021-09-13 23:57:39,688 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:57:39,689 INFO L225 Difference]: With dead ends: 94 [2021-09-13 23:57:39,689 INFO L226 Difference]: Without dead ends: 94 [2021-09-13 23:57:39,689 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 119 GetRequests, 74 SyntacticMatches, 1 SemanticMatches, 44 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 280 ImplicationChecksByTransitivity, 873.11ms TimeCoverageRelationStatistics Valid=222, Invalid=1848, Unknown=0, NotChecked=0, Total=2070 [2021-09-13 23:57:39,689 INFO L928 BasicCegarLoop]: 7 mSDtfsCounter, 255 mSDsluCounter, 612 mSDsCounter, 0 mSdLazyCounter, 1487 mSolverCounterSat, 36 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1129.33ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 256 SdHoareTripleChecker+Valid, 83 SdHoareTripleChecker+Invalid, 1557 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 3.47ms SdHoareTripleChecker+Time, 36 IncrementalHoareTripleChecker+Valid, 1487 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 34 IncrementalHoareTripleChecker+Unchecked, 1137.12ms IncrementalHoareTripleChecker+Time [2021-09-13 23:57:39,690 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [256 Valid, 83 Invalid, 1557 Unknown, 0 Unchecked, 3.47ms Time], IncrementalHoareTripleChecker [36 Valid, 1487 Invalid, 0 Unknown, 34 Unchecked, 1137.12ms Time] [2021-09-13 23:57:39,690 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2021-09-13 23:57:39,691 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 92. [2021-09-13 23:57:39,691 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:57:39,691 INFO L82 GeneralOperation]: Start isEquivalent. First operand 94 states. Second operand has 92 states, 79 states have (on average 1.139240506329114) internal successors, (90), 84 states have internal predecessors, (90), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:57:39,691 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand has 92 states, 79 states have (on average 1.139240506329114) internal successors, (90), 84 states have internal predecessors, (90), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:57:39,691 INFO L87 Difference]: Start difference. First operand 94 states. Second operand has 92 states, 79 states have (on average 1.139240506329114) internal successors, (90), 84 states have internal predecessors, (90), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:57:39,693 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:57:39,693 INFO L93 Difference]: Finished difference Result 94 states and 99 transitions. [2021-09-13 23:57:39,693 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 99 transitions. [2021-09-13 23:57:39,693 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:57:39,693 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:57:39,693 INFO L74 IsIncluded]: Start isIncluded. First operand has 92 states, 79 states have (on average 1.139240506329114) internal successors, (90), 84 states have internal predecessors, (90), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 94 states. [2021-09-13 23:57:39,694 INFO L87 Difference]: Start difference. First operand has 92 states, 79 states have (on average 1.139240506329114) internal successors, (90), 84 states have internal predecessors, (90), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 94 states. [2021-09-13 23:57:39,694 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:57:39,694 INFO L93 Difference]: Finished difference Result 94 states and 99 transitions. [2021-09-13 23:57:39,694 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 99 transitions. [2021-09-13 23:57:39,695 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:57:39,695 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:57:39,695 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:57:39,695 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:57:39,695 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 92 states, 79 states have (on average 1.139240506329114) internal successors, (90), 84 states have internal predecessors, (90), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:57:39,695 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 97 transitions. [2021-09-13 23:57:39,696 INFO L78 Accepts]: Start accepts. Automaton has 92 states and 97 transitions. Word has length 44 [2021-09-13 23:57:39,696 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:57:39,696 INFO L470 AbstractCegarLoop]: Abstraction has 92 states and 97 transitions. [2021-09-13 23:57:39,696 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 33 states, 30 states have (on average 2.4) internal successors, (72), 27 states have internal predecessors, (72), 3 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-13 23:57:39,696 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 97 transitions. [2021-09-13 23:57:39,696 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2021-09-13 23:57:39,696 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:57:39,708 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 23:57:39,749 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2021-09-13 23:57:39,923 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable24 [2021-09-13 23:57:39,923 INFO L402 AbstractCegarLoop]: === Iteration 26 === Targeting _destroy_in_nondeterministic_orderErr18ASSERT_VIOLATIONMEMORY_FREE === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:57:39,923 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:57:39,923 INFO L82 PathProgramCache]: Analyzing trace with hash -1757091995, now seen corresponding path program 1 times [2021-09-13 23:57:39,923 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 23:57:39,923 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1939289380] [2021-09-13 23:57:39,923 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:57:39,924 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 23:57:39,935 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:57:40,222 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2021-09-13 23:57:40,223 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:57:40,225 INFO L281 TraceCheckUtils]: 0: Hoare triple {15472#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {15435#true} is VALID [2021-09-13 23:57:40,225 INFO L281 TraceCheckUtils]: 1: Hoare triple {15435#true} assume true; {15435#true} is VALID [2021-09-13 23:57:40,225 INFO L276 TraceCheckUtils]: 2: Hoare quadruple {15435#true} {15435#true} #201#return; {15435#true} is VALID [2021-09-13 23:57:40,241 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2021-09-13 23:57:40,247 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:57:40,785 INFO L281 TraceCheckUtils]: 0: Hoare triple {15473#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {15474#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:57:40,785 INFO L281 TraceCheckUtils]: 1: Hoare triple {15474#(= dll_circular_create_~last~0.offset 0)} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {15474#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:57:40,786 INFO L281 TraceCheckUtils]: 2: Hoare triple {15474#(= dll_circular_create_~last~0.offset 0)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {15475#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:57:40,786 INFO L281 TraceCheckUtils]: 3: Hoare triple {15475#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {15475#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:57:40,786 INFO L281 TraceCheckUtils]: 4: Hoare triple {15475#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {15476#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:57:40,787 INFO L281 TraceCheckUtils]: 5: Hoare triple {15476#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {15477#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:57:40,787 INFO L281 TraceCheckUtils]: 6: Hoare triple {15477#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~last~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {15477#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:57:40,788 INFO L281 TraceCheckUtils]: 7: Hoare triple {15477#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~last~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {15478#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~last~0.offset 0) (not (= 0 (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-13 23:57:40,788 INFO L281 TraceCheckUtils]: 8: Hoare triple {15478#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~last~0.offset 0) (not (= 0 (select |#valid| dll_circular_create_~new_head~0.base))))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {15479#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0) (not (= 0 (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-13 23:57:40,789 INFO L281 TraceCheckUtils]: 9: Hoare triple {15479#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0) (not (= 0 (select |#valid| dll_circular_create_~new_head~0.base))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {15480#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (not (= (select |#valid| dll_circular_create_~head~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:57:40,789 INFO L281 TraceCheckUtils]: 10: Hoare triple {15480#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (not (= (select |#valid| dll_circular_create_~head~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {15481#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} is VALID [2021-09-13 23:57:40,790 INFO L281 TraceCheckUtils]: 11: Hoare triple {15481#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {15481#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} is VALID [2021-09-13 23:57:40,791 INFO L281 TraceCheckUtils]: 12: Hoare triple {15481#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {15482#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~head~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))))} is VALID [2021-09-13 23:57:40,791 INFO L281 TraceCheckUtils]: 13: Hoare triple {15482#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~head~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {15483#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) 1) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) dll_circular_create_~last~0.base)))} is VALID [2021-09-13 23:57:40,792 INFO L281 TraceCheckUtils]: 14: Hoare triple {15483#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) 1) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) dll_circular_create_~last~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {15484#(and (= (select |#valid| (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) 1) (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base)) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~last~0.base)) (not (= dll_circular_create_~last~0.offset 1)))} is VALID [2021-09-13 23:57:40,792 INFO L281 TraceCheckUtils]: 15: Hoare triple {15484#(and (= (select |#valid| (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) 1) (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base)) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~last~0.base)) (not (= dll_circular_create_~last~0.offset 1)))} assume !(~len > 1); {15484#(and (= (select |#valid| (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) 1) (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base)) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~last~0.base)) (not (= dll_circular_create_~last~0.offset 1)))} is VALID [2021-09-13 23:57:40,793 INFO L281 TraceCheckUtils]: 16: Hoare triple {15484#(and (= (select |#valid| (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) 1) (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base)) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~last~0.base)) (not (= dll_circular_create_~last~0.offset 1)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {15485#(and (not (= dll_circular_create_~last~0.base (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset))) (= dll_circular_create_~head~0.offset 0) (not (= dll_circular_create_~last~0.offset 1)) (not (= dll_circular_create_~head~0.base (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset))) (= (select |#valid| (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset)) 1))} is VALID [2021-09-13 23:57:40,794 INFO L281 TraceCheckUtils]: 17: Hoare triple {15485#(and (not (= dll_circular_create_~last~0.base (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset))) (= dll_circular_create_~head~0.offset 0) (not (= dll_circular_create_~last~0.offset 1)) (not (= dll_circular_create_~head~0.base (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset))) (= (select |#valid| (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset)) 1))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {15486#(and (= dll_circular_create_~head~0.offset 0) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) 1) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4)))))} is VALID [2021-09-13 23:57:40,795 INFO L281 TraceCheckUtils]: 18: Hoare triple {15486#(and (= dll_circular_create_~head~0.offset 0) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) 1) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4)))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {15487#(and (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) 1) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:57:40,795 INFO L281 TraceCheckUtils]: 19: Hoare triple {15487#(and (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) 1) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))) (= |dll_circular_create_#res.offset| 0))} assume true; {15487#(and (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) 1) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:57:40,796 INFO L276 TraceCheckUtils]: 20: Hoare quadruple {15487#(and (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) 1) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))) (= |dll_circular_create_#res.offset| 0))} {15435#true} #197#return; {15461#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|)) 1) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|))) (= |main_#t~ret12.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|) |main_#t~ret12.base|)))} is VALID [2021-09-13 23:57:40,797 INFO L264 TraceCheckUtils]: 0: Hoare triple {15435#true} call ULTIMATE.init(); {15472#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2021-09-13 23:57:40,797 INFO L281 TraceCheckUtils]: 1: Hoare triple {15472#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {15435#true} is VALID [2021-09-13 23:57:40,797 INFO L281 TraceCheckUtils]: 2: Hoare triple {15435#true} assume true; {15435#true} is VALID [2021-09-13 23:57:40,797 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {15435#true} {15435#true} #201#return; {15435#true} is VALID [2021-09-13 23:57:40,797 INFO L264 TraceCheckUtils]: 4: Hoare triple {15435#true} call #t~ret13 := main(); {15435#true} is VALID [2021-09-13 23:57:40,797 INFO L281 TraceCheckUtils]: 5: Hoare triple {15435#true} ~len~0 := 3; {15435#true} is VALID [2021-09-13 23:57:40,798 INFO L264 TraceCheckUtils]: 6: Hoare triple {15435#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {15473#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2021-09-13 23:57:40,798 INFO L281 TraceCheckUtils]: 7: Hoare triple {15473#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {15474#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:57:40,798 INFO L281 TraceCheckUtils]: 8: Hoare triple {15474#(= dll_circular_create_~last~0.offset 0)} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {15474#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:57:40,799 INFO L281 TraceCheckUtils]: 9: Hoare triple {15474#(= dll_circular_create_~last~0.offset 0)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {15475#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:57:40,799 INFO L281 TraceCheckUtils]: 10: Hoare triple {15475#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {15475#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:57:40,799 INFO L281 TraceCheckUtils]: 11: Hoare triple {15475#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {15476#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:57:40,800 INFO L281 TraceCheckUtils]: 12: Hoare triple {15476#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {15477#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:57:40,800 INFO L281 TraceCheckUtils]: 13: Hoare triple {15477#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~last~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {15477#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:57:40,801 INFO L281 TraceCheckUtils]: 14: Hoare triple {15477#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~last~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {15478#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~last~0.offset 0) (not (= 0 (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-13 23:57:40,801 INFO L281 TraceCheckUtils]: 15: Hoare triple {15478#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~last~0.offset 0) (not (= 0 (select |#valid| dll_circular_create_~new_head~0.base))))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {15479#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0) (not (= 0 (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-13 23:57:40,802 INFO L281 TraceCheckUtils]: 16: Hoare triple {15479#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0) (not (= 0 (select |#valid| dll_circular_create_~new_head~0.base))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {15480#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (not (= (select |#valid| dll_circular_create_~head~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:57:40,802 INFO L281 TraceCheckUtils]: 17: Hoare triple {15480#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (not (= (select |#valid| dll_circular_create_~head~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {15481#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} is VALID [2021-09-13 23:57:40,803 INFO L281 TraceCheckUtils]: 18: Hoare triple {15481#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {15481#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} is VALID [2021-09-13 23:57:40,804 INFO L281 TraceCheckUtils]: 19: Hoare triple {15481#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {15482#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~head~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))))} is VALID [2021-09-13 23:57:40,804 INFO L281 TraceCheckUtils]: 20: Hoare triple {15482#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~head~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {15483#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) 1) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) dll_circular_create_~last~0.base)))} is VALID [2021-09-13 23:57:40,805 INFO L281 TraceCheckUtils]: 21: Hoare triple {15483#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) 1) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) dll_circular_create_~last~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {15484#(and (= (select |#valid| (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) 1) (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base)) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~last~0.base)) (not (= dll_circular_create_~last~0.offset 1)))} is VALID [2021-09-13 23:57:40,805 INFO L281 TraceCheckUtils]: 22: Hoare triple {15484#(and (= (select |#valid| (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) 1) (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base)) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~last~0.base)) (not (= dll_circular_create_~last~0.offset 1)))} assume !(~len > 1); {15484#(and (= (select |#valid| (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) 1) (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base)) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~last~0.base)) (not (= dll_circular_create_~last~0.offset 1)))} is VALID [2021-09-13 23:57:40,806 INFO L281 TraceCheckUtils]: 23: Hoare triple {15484#(and (= (select |#valid| (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) 1) (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base)) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~last~0.base)) (not (= dll_circular_create_~last~0.offset 1)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {15485#(and (not (= dll_circular_create_~last~0.base (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset))) (= dll_circular_create_~head~0.offset 0) (not (= dll_circular_create_~last~0.offset 1)) (not (= dll_circular_create_~head~0.base (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset))) (= (select |#valid| (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset)) 1))} is VALID [2021-09-13 23:57:40,807 INFO L281 TraceCheckUtils]: 24: Hoare triple {15485#(and (not (= dll_circular_create_~last~0.base (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset))) (= dll_circular_create_~head~0.offset 0) (not (= dll_circular_create_~last~0.offset 1)) (not (= dll_circular_create_~head~0.base (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset))) (= (select |#valid| (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset)) 1))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {15486#(and (= dll_circular_create_~head~0.offset 0) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) 1) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4)))))} is VALID [2021-09-13 23:57:40,807 INFO L281 TraceCheckUtils]: 25: Hoare triple {15486#(and (= dll_circular_create_~head~0.offset 0) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) 1) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4)))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {15487#(and (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) 1) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:57:40,808 INFO L281 TraceCheckUtils]: 26: Hoare triple {15487#(and (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) 1) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))) (= |dll_circular_create_#res.offset| 0))} assume true; {15487#(and (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) 1) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:57:40,809 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {15487#(and (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) 1) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))) (= |dll_circular_create_#res.offset| 0))} {15435#true} #197#return; {15461#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|)) 1) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|))) (= |main_#t~ret12.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|) |main_#t~ret12.base|)))} is VALID [2021-09-13 23:57:40,809 INFO L281 TraceCheckUtils]: 28: Hoare triple {15461#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|)) 1) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|))) (= |main_#t~ret12.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|) |main_#t~ret12.base|)))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {15462#(and (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset) (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))) (= (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset)) 1) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset) main_~head~1.base)) (= 0 main_~head~1.offset))} is VALID [2021-09-13 23:57:40,810 INFO L264 TraceCheckUtils]: 29: Hoare triple {15462#(and (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset) (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))) (= (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset)) 1) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset) main_~head~1.base)) (= 0 main_~head~1.offset))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {15463#(and (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|)) 1) (= |_destroy_in_nondeterministic_order_#in~head.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|) (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))))} is VALID [2021-09-13 23:57:40,811 INFO L281 TraceCheckUtils]: 30: Hoare triple {15463#(and (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|)) 1) (= |_destroy_in_nondeterministic_order_#in~head.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|) (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {15464#(and (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset)) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)))))} is VALID [2021-09-13 23:57:40,811 INFO L281 TraceCheckUtils]: 31: Hoare triple {15464#(and (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset)) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)))))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, 4 + ~head.offset, 4); srcloc: L586 {15465#(and (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset)) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) |_destroy_in_nondeterministic_order_#t~mem5.base|)))} is VALID [2021-09-13 23:57:40,812 INFO L281 TraceCheckUtils]: 32: Hoare triple {15465#(and (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset)) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) |_destroy_in_nondeterministic_order_#t~mem5.base|)))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {15466#(and (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset)) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) _destroy_in_nondeterministic_order_~pred~0.base)))} is VALID [2021-09-13 23:57:40,812 INFO L281 TraceCheckUtils]: 33: Hoare triple {15466#(and (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset)) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) _destroy_in_nondeterministic_order_~pred~0.base)))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4); srcloc: L587 {15467#(and (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) |_destroy_in_nondeterministic_order_#t~mem6.base|) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= _destroy_in_nondeterministic_order_~pred~0.base |_destroy_in_nondeterministic_order_#t~mem6.base|)))} is VALID [2021-09-13 23:57:40,813 INFO L281 TraceCheckUtils]: 34: Hoare triple {15467#(and (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) |_destroy_in_nondeterministic_order_#t~mem6.base|) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= _destroy_in_nondeterministic_order_~pred~0.base |_destroy_in_nondeterministic_order_#t~mem6.base|)))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647; {15468#(and (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~succ~0.base) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))} is VALID [2021-09-13 23:57:40,813 INFO L281 TraceCheckUtils]: 35: Hoare triple {15468#(and (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~succ~0.base) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))} assume 0 != #t~nondet7;havoc #t~nondet7; {15468#(and (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~succ~0.base) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))} is VALID [2021-09-13 23:57:40,813 INFO L281 TraceCheckUtils]: 36: Hoare triple {15468#(and (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~succ~0.base) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))} assume 0 == ~head.offset; {15469#(and (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~succ~0.base) 1) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))} is VALID [2021-09-13 23:57:40,814 INFO L281 TraceCheckUtils]: 37: Hoare triple {15469#(and (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~succ~0.base) 1) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))} assume ~head.base < #StackHeapBarrier; {15469#(and (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~succ~0.base) 1) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))} is VALID [2021-09-13 23:57:40,814 INFO L281 TraceCheckUtils]: 38: Hoare triple {15469#(and (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~succ~0.base) 1) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))} assume 0 == ~head.base || 1 == #valid[~head.base];call ULTIMATE.dealloc(~head.base, ~head.offset);assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {15470#(= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~succ~0.base) 1)} is VALID [2021-09-13 23:57:40,815 INFO L281 TraceCheckUtils]: 39: Hoare triple {15470#(= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~succ~0.base) 1)} assume !(0 != #t~nondet8);havoc #t~nondet8; {15470#(= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~succ~0.base) 1)} is VALID [2021-09-13 23:57:40,815 INFO L281 TraceCheckUtils]: 40: Hoare triple {15470#(= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~succ~0.base) 1)} assume 0 == ~pred~0.offset; {15470#(= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~succ~0.base) 1)} is VALID [2021-09-13 23:57:40,815 INFO L281 TraceCheckUtils]: 41: Hoare triple {15470#(= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~succ~0.base) 1)} assume ~pred~0.base < #StackHeapBarrier; {15470#(= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~succ~0.base) 1)} is VALID [2021-09-13 23:57:40,816 INFO L281 TraceCheckUtils]: 42: Hoare triple {15470#(= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~succ~0.base) 1)} assume 0 == ~pred~0.base || 1 == #valid[~pred~0.base];call ULTIMATE.dealloc(~pred~0.base, ~pred~0.offset); {15471#(= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1)} is VALID [2021-09-13 23:57:40,816 INFO L281 TraceCheckUtils]: 43: Hoare triple {15471#(= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1)} assume 0 == ~succ~0.offset; {15471#(= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1)} is VALID [2021-09-13 23:57:40,816 INFO L281 TraceCheckUtils]: 44: Hoare triple {15471#(= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1)} assume ~succ~0.base < #StackHeapBarrier; {15471#(= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1)} is VALID [2021-09-13 23:57:40,817 INFO L281 TraceCheckUtils]: 45: Hoare triple {15471#(= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1)} assume !(0 == ~succ~0.base || 1 == #valid[~succ~0.base]); {15436#false} is VALID [2021-09-13 23:57:40,817 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:57:40,817 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 23:57:40,817 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1939289380] [2021-09-13 23:57:40,817 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1939289380] provided 0 perfect and 1 imperfect interpolant sequences [2021-09-13 23:57:40,817 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1957325495] [2021-09-13 23:57:40,817 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:57:40,817 INFO L170 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 23:57:40,817 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-09-13 23:57:40,818 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2021-09-13 23:57:40,819 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2021-09-13 23:57:40,905 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:57:40,907 INFO L263 TraceCheckSpWp]: Trace formula consists of 207 conjuncts, 49 conjunts are in the unsatisfiable core [2021-09-13 23:57:40,918 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:57:40,919 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 23:57:40,944 INFO L388 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 [2021-09-13 23:57:41,044 INFO L354 Elim1Store]: treesize reduction 18, result has 35.7 percent of original size [2021-09-13 23:57:41,044 INFO L388 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 [2021-09-13 23:57:41,243 INFO L354 Elim1Store]: treesize reduction 8, result has 52.9 percent of original size [2021-09-13 23:57:41,243 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 16 treesize of output 18 [2021-09-13 23:57:41,324 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2021-09-13 23:57:41,408 INFO L354 Elim1Store]: treesize reduction 29, result has 19.4 percent of original size [2021-09-13 23:57:41,408 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 47 treesize of output 33 [2021-09-13 23:57:41,686 INFO L354 Elim1Store]: treesize reduction 45, result has 16.7 percent of original size [2021-09-13 23:57:41,686 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 50 treesize of output 43 [2021-09-13 23:57:41,954 INFO L354 Elim1Store]: treesize reduction 94, result has 15.3 percent of original size [2021-09-13 23:57:41,954 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 5 case distinctions, treesize of input 61 treesize of output 57 [2021-09-13 23:57:43,041 INFO L190 IndexEqualityManager]: detected not equals via solver [2021-09-13 23:57:43,042 INFO L190 IndexEqualityManager]: detected not equals via solver [2021-09-13 23:57:43,075 INFO L354 Elim1Store]: treesize reduction 124, result has 16.8 percent of original size [2021-09-13 23:57:43,075 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 6 select indices, 6 select index equivalence classes, 3 disjoint index pairs (out of 15 index pairs), introduced 8 new quantified variables, introduced 15 case distinctions, treesize of input 78 treesize of output 60 [2021-09-13 23:57:44,128 INFO L354 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2021-09-13 23:57:44,129 INFO L388 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 1 case distinctions, treesize of input 20 treesize of output 22 [2021-09-13 23:57:44,502 INFO L354 Elim1Store]: treesize reduction 36, result has 23.4 percent of original size [2021-09-13 23:57:44,502 INFO L388 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 3 case distinctions, treesize of input 25 treesize of output 30 [2021-09-13 23:57:45,034 INFO L264 TraceCheckUtils]: 0: Hoare triple {15435#true} call ULTIMATE.init(); {15435#true} is VALID [2021-09-13 23:57:45,035 INFO L281 TraceCheckUtils]: 1: Hoare triple {15435#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {15435#true} is VALID [2021-09-13 23:57:45,035 INFO L281 TraceCheckUtils]: 2: Hoare triple {15435#true} assume true; {15435#true} is VALID [2021-09-13 23:57:45,035 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {15435#true} {15435#true} #201#return; {15435#true} is VALID [2021-09-13 23:57:45,035 INFO L264 TraceCheckUtils]: 4: Hoare triple {15435#true} call #t~ret13 := main(); {15435#true} is VALID [2021-09-13 23:57:45,035 INFO L281 TraceCheckUtils]: 5: Hoare triple {15435#true} ~len~0 := 3; {15435#true} is VALID [2021-09-13 23:57:45,035 INFO L264 TraceCheckUtils]: 6: Hoare triple {15435#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {15435#true} is VALID [2021-09-13 23:57:45,036 INFO L281 TraceCheckUtils]: 7: Hoare triple {15435#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {15512#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:57:45,036 INFO L281 TraceCheckUtils]: 8: Hoare triple {15512#(= (select |#valid| dll_circular_create_~last~0.base) 1)} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {15512#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:57:45,036 INFO L281 TraceCheckUtils]: 9: Hoare triple {15512#(= (select |#valid| dll_circular_create_~last~0.base) 1)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {15512#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:57:45,037 INFO L281 TraceCheckUtils]: 10: Hoare triple {15512#(= (select |#valid| dll_circular_create_~last~0.base) 1)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {15512#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:57:45,037 INFO L281 TraceCheckUtils]: 11: Hoare triple {15512#(= (select |#valid| dll_circular_create_~last~0.base) 1)} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {15525#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:57:45,038 INFO L281 TraceCheckUtils]: 12: Hoare triple {15525#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= (select |#valid| dll_circular_create_~last~0.base) 1))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {15529#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:57:45,038 INFO L281 TraceCheckUtils]: 13: Hoare triple {15529#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {15529#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:57:45,039 INFO L281 TraceCheckUtils]: 14: Hoare triple {15529#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {15529#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:57:45,040 INFO L281 TraceCheckUtils]: 15: Hoare triple {15529#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {15539#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:57:45,040 INFO L281 TraceCheckUtils]: 16: Hoare triple {15539#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {15543#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:57:45,041 INFO L281 TraceCheckUtils]: 17: Hoare triple {15543#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= (select |#valid| dll_circular_create_~last~0.base) 1))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {15547#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)))} is VALID [2021-09-13 23:57:45,041 INFO L281 TraceCheckUtils]: 18: Hoare triple {15547#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {15547#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)))} is VALID [2021-09-13 23:57:45,042 INFO L281 TraceCheckUtils]: 19: Hoare triple {15547#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {15554#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} is VALID [2021-09-13 23:57:45,043 INFO L281 TraceCheckUtils]: 20: Hoare triple {15554#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {15558#(and (exists ((dll_circular_create_~head~0.offset Int)) (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (+ dll_circular_create_~head~0.offset 4)))) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) 1) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) dll_circular_create_~last~0.base)))} is VALID [2021-09-13 23:57:45,044 INFO L281 TraceCheckUtils]: 21: Hoare triple {15558#(and (exists ((dll_circular_create_~head~0.offset Int)) (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (+ dll_circular_create_~head~0.offset 4)))) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) 1) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) dll_circular_create_~last~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {15562#(and (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0) dll_circular_create_~last~0.base)) (exists ((v_dll_circular_create_~head~0.offset_91 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_91 4)))) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) 1))} is VALID [2021-09-13 23:57:45,044 INFO L281 TraceCheckUtils]: 22: Hoare triple {15562#(and (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0) dll_circular_create_~last~0.base)) (exists ((v_dll_circular_create_~head~0.offset_91 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_91 4)))) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) 1))} assume !(~len > 1); {15562#(and (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0) dll_circular_create_~last~0.base)) (exists ((v_dll_circular_create_~head~0.offset_91 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_91 4)))) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) 1))} is VALID [2021-09-13 23:57:45,046 INFO L281 TraceCheckUtils]: 23: Hoare triple {15562#(and (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0) dll_circular_create_~last~0.base)) (exists ((v_dll_circular_create_~head~0.offset_91 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_91 4)))) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) 1))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {15569#(and (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0) dll_circular_create_~last~0.base)) (exists ((v_dll_circular_create_~head~0.offset_91 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_91 4)))) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (exists ((dll_circular_create_~last~0.offset Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset))) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) 1))} is VALID [2021-09-13 23:57:45,048 INFO L281 TraceCheckUtils]: 24: Hoare triple {15569#(and (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0) dll_circular_create_~last~0.base)) (exists ((v_dll_circular_create_~head~0.offset_91 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_91 4)))) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (exists ((dll_circular_create_~last~0.offset Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset))) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) 1))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {15573#(and (exists ((v_dll_circular_create_~head~0.offset_91 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_91 4)))) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (exists ((dll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4)) dll_circular_create_~last~0.offset) dll_circular_create_~head~0.base)) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) dll_circular_create_~head~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) 1))} is VALID [2021-09-13 23:57:45,049 INFO L281 TraceCheckUtils]: 25: Hoare triple {15573#(and (exists ((v_dll_circular_create_~head~0.offset_91 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_91 4)))) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (exists ((dll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4)) dll_circular_create_~last~0.offset) dll_circular_create_~head~0.base)) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) dll_circular_create_~head~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) 1))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {15577#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0)) 1) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4)) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_91 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0)) (+ v_dll_circular_create_~head~0.offset_91 4)) |dll_circular_create_#res.base|)))} is VALID [2021-09-13 23:57:45,050 INFO L281 TraceCheckUtils]: 26: Hoare triple {15577#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0)) 1) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4)) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_91 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0)) (+ v_dll_circular_create_~head~0.offset_91 4)) |dll_circular_create_#res.base|)))} assume true; {15577#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0)) 1) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4)) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_91 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0)) (+ v_dll_circular_create_~head~0.offset_91 4)) |dll_circular_create_#res.base|)))} is VALID [2021-09-13 23:57:45,051 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {15577#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0)) 1) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4)) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_91 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0)) (+ v_dll_circular_create_~head~0.offset_91 4)) |dll_circular_create_#res.base|)))} {15435#true} #197#return; {15584#(and (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0) |main_#t~ret12.base|)) (exists ((dll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4)) dll_circular_create_~last~0.offset) |main_#t~ret12.base|)) (exists ((v_dll_circular_create_~head~0.offset_91 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0)) (+ v_dll_circular_create_~head~0.offset_91 4)) |main_#t~ret12.base|)) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0))) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0))) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|)))} is VALID [2021-09-13 23:57:45,052 INFO L281 TraceCheckUtils]: 28: Hoare triple {15584#(and (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0) |main_#t~ret12.base|)) (exists ((dll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4)) dll_circular_create_~last~0.offset) |main_#t~ret12.base|)) (exists ((v_dll_circular_create_~head~0.offset_91 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0)) (+ v_dll_circular_create_~head~0.offset_91 4)) |main_#t~ret12.base|)) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0))) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0))) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|)))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {15588#(and (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) 0) main_~head~1.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) 0)) 1) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) 0) (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= main_~head~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_91 Int)) (= main_~head~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) 0)) (+ v_dll_circular_create_~head~0.offset_91 4)))) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))))} is VALID [2021-09-13 23:57:45,053 INFO L264 TraceCheckUtils]: 29: Hoare triple {15588#(and (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) 0) main_~head~1.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) 0)) 1) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) 0) (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= main_~head~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_91 Int)) (= main_~head~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) 0)) (+ v_dll_circular_create_~head~0.offset_91 4)))) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {15592#(and (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0))) (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))) (exists ((v_dll_circular_create_~head~0.offset_91 Int)) (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0)) (+ v_dll_circular_create_~head~0.offset_91 4)))) (exists ((dll_circular_create_~last~0.offset Int)) (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)) dll_circular_create_~last~0.offset))) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0) (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0)) 1))} is VALID [2021-09-13 23:57:45,054 INFO L281 TraceCheckUtils]: 30: Hoare triple {15592#(and (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0))) (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))) (exists ((v_dll_circular_create_~head~0.offset_91 Int)) (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0)) (+ v_dll_circular_create_~head~0.offset_91 4)))) (exists ((dll_circular_create_~last~0.offset Int)) (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)) dll_circular_create_~last~0.offset))) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0) (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0)) 1))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {15596#(and (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_91 Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_91 4)))) (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) 1) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} is VALID [2021-09-13 23:57:45,054 INFO L281 TraceCheckUtils]: 31: Hoare triple {15596#(and (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_91 Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_91 4)))) (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) 1) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, 4 + ~head.offset, 4); srcloc: L586 {15600#(and (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_91 Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_91 4)))) (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)) |_destroy_in_nondeterministic_order_#t~mem5.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) 1) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} is VALID [2021-09-13 23:57:45,067 INFO L281 TraceCheckUtils]: 32: Hoare triple {15600#(and (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_91 Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_91 4)))) (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)) |_destroy_in_nondeterministic_order_#t~mem5.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) 1) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {15604#(and (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)) _destroy_in_nondeterministic_order_~pred~0.base) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_91 Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_91 4)))) (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) 1) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} is VALID [2021-09-13 23:57:45,069 INFO L281 TraceCheckUtils]: 33: Hoare triple {15604#(and (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)) _destroy_in_nondeterministic_order_~pred~0.base) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_91 Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_91 4)))) (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) 1) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4); srcloc: L587 {15608#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((v_arrayElimIndex_31 Int)) (and (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (= |_destroy_in_nondeterministic_order_#t~mem6.base| v_arrayElimIndex_31)) (or (and (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (and (not (= _destroy_in_nondeterministic_order_~pred~0.base v_arrayElimIndex_31)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))) (not (= _destroy_in_nondeterministic_order_~head.offset 4))) (and (not (= |_destroy_in_nondeterministic_order_#t~mem6.base| v_arrayElimIndex_31)) (not (= _destroy_in_nondeterministic_order_~head.base |_destroy_in_nondeterministic_order_#t~mem6.base|)))) (= 1 (select |#valid| v_arrayElimIndex_31)) (not (= _destroy_in_nondeterministic_order_~head.base v_arrayElimIndex_31)))))} is VALID [2021-09-13 23:57:45,070 INFO L281 TraceCheckUtils]: 34: Hoare triple {15608#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((v_arrayElimIndex_31 Int)) (and (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (= |_destroy_in_nondeterministic_order_#t~mem6.base| v_arrayElimIndex_31)) (or (and (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (and (not (= _destroy_in_nondeterministic_order_~pred~0.base v_arrayElimIndex_31)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))) (not (= _destroy_in_nondeterministic_order_~head.offset 4))) (and (not (= |_destroy_in_nondeterministic_order_#t~mem6.base| v_arrayElimIndex_31)) (not (= _destroy_in_nondeterministic_order_~head.base |_destroy_in_nondeterministic_order_#t~mem6.base|)))) (= 1 (select |#valid| v_arrayElimIndex_31)) (not (= _destroy_in_nondeterministic_order_~head.base v_arrayElimIndex_31)))))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647; {15612#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((v_arrayElimIndex_31 Int)) (and (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (= _destroy_in_nondeterministic_order_~succ~0.base v_arrayElimIndex_31)) (= 1 (select |#valid| v_arrayElimIndex_31)) (not (= _destroy_in_nondeterministic_order_~head.base v_arrayElimIndex_31)) (or (and (not (= _destroy_in_nondeterministic_order_~succ~0.base v_arrayElimIndex_31)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))) (and (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (and (not (= _destroy_in_nondeterministic_order_~pred~0.base v_arrayElimIndex_31)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))) (not (= _destroy_in_nondeterministic_order_~head.offset 4)))))))} is VALID [2021-09-13 23:57:45,071 INFO L281 TraceCheckUtils]: 35: Hoare triple {15612#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((v_arrayElimIndex_31 Int)) (and (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (= _destroy_in_nondeterministic_order_~succ~0.base v_arrayElimIndex_31)) (= 1 (select |#valid| v_arrayElimIndex_31)) (not (= _destroy_in_nondeterministic_order_~head.base v_arrayElimIndex_31)) (or (and (not (= _destroy_in_nondeterministic_order_~succ~0.base v_arrayElimIndex_31)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))) (and (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (and (not (= _destroy_in_nondeterministic_order_~pred~0.base v_arrayElimIndex_31)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))) (not (= _destroy_in_nondeterministic_order_~head.offset 4)))))))} assume 0 != #t~nondet7;havoc #t~nondet7; {15612#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((v_arrayElimIndex_31 Int)) (and (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (= _destroy_in_nondeterministic_order_~succ~0.base v_arrayElimIndex_31)) (= 1 (select |#valid| v_arrayElimIndex_31)) (not (= _destroy_in_nondeterministic_order_~head.base v_arrayElimIndex_31)) (or (and (not (= _destroy_in_nondeterministic_order_~succ~0.base v_arrayElimIndex_31)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))) (and (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (and (not (= _destroy_in_nondeterministic_order_~pred~0.base v_arrayElimIndex_31)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))) (not (= _destroy_in_nondeterministic_order_~head.offset 4)))))))} is VALID [2021-09-13 23:57:45,072 INFO L281 TraceCheckUtils]: 36: Hoare triple {15612#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((v_arrayElimIndex_31 Int)) (and (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (= _destroy_in_nondeterministic_order_~succ~0.base v_arrayElimIndex_31)) (= 1 (select |#valid| v_arrayElimIndex_31)) (not (= _destroy_in_nondeterministic_order_~head.base v_arrayElimIndex_31)) (or (and (not (= _destroy_in_nondeterministic_order_~succ~0.base v_arrayElimIndex_31)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))) (and (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (and (not (= _destroy_in_nondeterministic_order_~pred~0.base v_arrayElimIndex_31)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))) (not (= _destroy_in_nondeterministic_order_~head.offset 4)))))))} assume 0 == ~head.offset; {15619#(and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} is VALID [2021-09-13 23:57:45,072 INFO L281 TraceCheckUtils]: 37: Hoare triple {15619#(and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} assume ~head.base < #StackHeapBarrier; {15619#(and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} is VALID [2021-09-13 23:57:45,073 INFO L281 TraceCheckUtils]: 38: Hoare triple {15619#(and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} assume 0 == ~head.base || 1 == #valid[~head.base];call ULTIMATE.dealloc(~head.base, ~head.offset);assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {15626#(and (exists ((_destroy_in_nondeterministic_order_~head.base Int)) (and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1))} is VALID [2021-09-13 23:57:45,073 INFO L281 TraceCheckUtils]: 39: Hoare triple {15626#(and (exists ((_destroy_in_nondeterministic_order_~head.base Int)) (and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1))} assume !(0 != #t~nondet8);havoc #t~nondet8; {15626#(and (exists ((_destroy_in_nondeterministic_order_~head.base Int)) (and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1))} is VALID [2021-09-13 23:57:45,074 INFO L281 TraceCheckUtils]: 40: Hoare triple {15626#(and (exists ((_destroy_in_nondeterministic_order_~head.base Int)) (and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1))} assume 0 == ~pred~0.offset; {15626#(and (exists ((_destroy_in_nondeterministic_order_~head.base Int)) (and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1))} is VALID [2021-09-13 23:57:45,074 INFO L281 TraceCheckUtils]: 41: Hoare triple {15626#(and (exists ((_destroy_in_nondeterministic_order_~head.base Int)) (and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1))} assume ~pred~0.base < #StackHeapBarrier; {15626#(and (exists ((_destroy_in_nondeterministic_order_~head.base Int)) (and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1))} is VALID [2021-09-13 23:57:45,076 INFO L281 TraceCheckUtils]: 42: Hoare triple {15626#(and (exists ((_destroy_in_nondeterministic_order_~head.base Int)) (and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1))} assume 0 == ~pred~0.base || 1 == #valid[~pred~0.base];call ULTIMATE.dealloc(~pred~0.base, ~pred~0.offset); {15639#(and (exists ((_destroy_in_nondeterministic_order_~head.base Int) (_destroy_in_nondeterministic_order_~pred~0.base Int)) (and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1))} is VALID [2021-09-13 23:57:45,077 INFO L281 TraceCheckUtils]: 43: Hoare triple {15639#(and (exists ((_destroy_in_nondeterministic_order_~head.base Int) (_destroy_in_nondeterministic_order_~pred~0.base Int)) (and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1))} assume 0 == ~succ~0.offset; {15639#(and (exists ((_destroy_in_nondeterministic_order_~head.base Int) (_destroy_in_nondeterministic_order_~pred~0.base Int)) (and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1))} is VALID [2021-09-13 23:57:45,077 INFO L281 TraceCheckUtils]: 44: Hoare triple {15639#(and (exists ((_destroy_in_nondeterministic_order_~head.base Int) (_destroy_in_nondeterministic_order_~pred~0.base Int)) (and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1))} assume ~succ~0.base < #StackHeapBarrier; {15639#(and (exists ((_destroy_in_nondeterministic_order_~head.base Int) (_destroy_in_nondeterministic_order_~pred~0.base Int)) (and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1))} is VALID [2021-09-13 23:57:45,078 INFO L281 TraceCheckUtils]: 45: Hoare triple {15639#(and (exists ((_destroy_in_nondeterministic_order_~head.base Int) (_destroy_in_nondeterministic_order_~pred~0.base Int)) (and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 1))} assume !(0 == ~succ~0.base || 1 == #valid[~succ~0.base]); {15436#false} is VALID [2021-09-13 23:57:45,078 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:57:45,078 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 23:57:46,448 WARN L870 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2021-09-13 23:57:47,673 WARN L838 $PredicateComparison]: unable to prove that (forall ((_destroy_in_nondeterministic_order_~head.offset Int)) (or (let ((.cse1 (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base) (+ c_dll_circular_create_~head~0.offset 4) c_dll_circular_create_~last~0.base))) (let ((.cse0 (select .cse1 _destroy_in_nondeterministic_order_~head.offset))) (and (not (= .cse0 (select .cse1 (+ _destroy_in_nondeterministic_order_~head.offset 4)))) (= (select (store |c_#valid| c_dll_circular_create_~head~0.base 0) .cse0) 1)))) (< 0 _destroy_in_nondeterministic_order_~head.offset) (< _destroy_in_nondeterministic_order_~head.offset 0))) is different from false [2021-09-13 23:57:48,652 WARN L838 $PredicateComparison]: unable to prove that (forall ((_destroy_in_nondeterministic_order_~head.offset Int)) (or (and (forall ((dll_circular_create_~last~0.offset Int)) (= (select (store |c_#valid| c_dll_circular_create_~head~0.base 0) (select (store (select (store |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~head~0.base)) c_dll_circular_create_~head~0.base) (+ c_dll_circular_create_~head~0.offset 4) c_dll_circular_create_~last~0.base) _destroy_in_nondeterministic_order_~head.offset)) 1)) (forall ((dll_circular_create_~last~0.offset Int)) (not (let ((.cse0 (store (select (store |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~head~0.base)) c_dll_circular_create_~head~0.base) (+ c_dll_circular_create_~head~0.offset 4) c_dll_circular_create_~last~0.base))) (= (select .cse0 _destroy_in_nondeterministic_order_~head.offset) (select .cse0 (+ _destroy_in_nondeterministic_order_~head.offset 4))))))) (< 0 _destroy_in_nondeterministic_order_~head.offset) (< _destroy_in_nondeterministic_order_~head.offset 0))) is different from false [2021-09-13 23:57:49,689 WARN L838 $PredicateComparison]: unable to prove that (forall ((_destroy_in_nondeterministic_order_~head.offset Int)) (or (and (forall ((dll_circular_create_~last~0.offset Int)) (not (let ((.cse0 (store (select (store |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.base)) c_dll_circular_create_~new_head~0.base) (+ c_dll_circular_create_~new_head~0.offset 4) c_dll_circular_create_~last~0.base))) (= (select .cse0 _destroy_in_nondeterministic_order_~head.offset) (select .cse0 (+ _destroy_in_nondeterministic_order_~head.offset 4)))))) (forall ((dll_circular_create_~last~0.offset Int)) (= (select (store |c_#valid| c_dll_circular_create_~new_head~0.base 0) (select (store (select (store |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.base)) c_dll_circular_create_~new_head~0.base) (+ c_dll_circular_create_~new_head~0.offset 4) c_dll_circular_create_~last~0.base) _destroy_in_nondeterministic_order_~head.offset)) 1))) (< 0 _destroy_in_nondeterministic_order_~head.offset) (< _destroy_in_nondeterministic_order_~head.offset 0))) is different from false [2021-09-13 23:57:49,809 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_DEPENDING: Alternating quantifiers not yet supported [2021-09-13 23:57:49,809 INFO L186 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2021-09-13 23:57:49,810 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [28] total 28 [2021-09-13 23:57:49,810 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [588235290] [2021-09-13 23:57:49,810 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 27 states have (on average 1.4814814814814814) internal successors, (40), 25 states have internal predecessors, (40), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 46 [2021-09-13 23:57:49,810 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:57:49,810 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 29 states, 27 states have (on average 1.4814814814814814) internal successors, (40), 25 states have internal predecessors, (40), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:57:49,848 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:57:49,848 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 29 states [2021-09-13 23:57:49,848 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 23:57:49,848 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2021-09-13 23:57:49,849 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=191, Invalid=3600, Unknown=3, NotChecked=366, Total=4160 [2021-09-13 23:57:49,849 INFO L87 Difference]: Start difference. First operand 92 states and 97 transitions. Second operand has 29 states, 27 states have (on average 1.4814814814814814) internal successors, (40), 25 states have internal predecessors, (40), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:57:53,807 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:57:53,807 INFO L93 Difference]: Finished difference Result 96 states and 101 transitions. [2021-09-13 23:57:53,807 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2021-09-13 23:57:53,807 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 27 states have (on average 1.4814814814814814) internal successors, (40), 25 states have internal predecessors, (40), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 46 [2021-09-13 23:57:53,807 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:57:53,807 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 27 states have (on average 1.4814814814814814) internal successors, (40), 25 states have internal predecessors, (40), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:57:53,808 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 103 transitions. [2021-09-13 23:57:53,808 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 27 states have (on average 1.4814814814814814) internal successors, (40), 25 states have internal predecessors, (40), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:57:53,809 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 103 transitions. [2021-09-13 23:57:53,809 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states and 103 transitions. [2021-09-13 23:57:53,908 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:57:53,908 INFO L225 Difference]: With dead ends: 96 [2021-09-13 23:57:53,908 INFO L226 Difference]: Without dead ends: 96 [2021-09-13 23:57:53,910 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 120 GetRequests, 37 SyntacticMatches, 1 SemanticMatches, 82 ConstructedPredicates, 3 IntricatePredicates, 0 DeprecatedPredicates, 1306 ImplicationChecksByTransitivity, 5638.42ms TimeCoverageRelationStatistics Valid=421, Invalid=6068, Unknown=3, NotChecked=480, Total=6972 [2021-09-13 23:57:53,910 INFO L928 BasicCegarLoop]: 6 mSDtfsCounter, 190 mSDsluCounter, 410 mSDsCounter, 0 mSdLazyCounter, 1547 mSolverCounterSat, 69 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1298.38ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 190 SdHoareTripleChecker+Valid, 56 SdHoareTripleChecker+Invalid, 1616 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 3.44ms SdHoareTripleChecker+Time, 69 IncrementalHoareTripleChecker+Valid, 1547 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1308.97ms IncrementalHoareTripleChecker+Time [2021-09-13 23:57:53,910 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [190 Valid, 56 Invalid, 1616 Unknown, 0 Unchecked, 3.44ms Time], IncrementalHoareTripleChecker [69 Valid, 1547 Invalid, 0 Unknown, 0 Unchecked, 1308.97ms Time] [2021-09-13 23:57:53,911 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2021-09-13 23:57:53,912 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 90. [2021-09-13 23:57:53,912 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:57:53,912 INFO L82 GeneralOperation]: Start isEquivalent. First operand 96 states. Second operand has 90 states, 79 states have (on average 1.1139240506329113) internal successors, (88), 82 states have internal predecessors, (88), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:57:53,912 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand has 90 states, 79 states have (on average 1.1139240506329113) internal successors, (88), 82 states have internal predecessors, (88), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:57:53,912 INFO L87 Difference]: Start difference. First operand 96 states. Second operand has 90 states, 79 states have (on average 1.1139240506329113) internal successors, (88), 82 states have internal predecessors, (88), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:57:53,913 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:57:53,913 INFO L93 Difference]: Finished difference Result 96 states and 101 transitions. [2021-09-13 23:57:53,913 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 101 transitions. [2021-09-13 23:57:53,913 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:57:53,913 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:57:53,913 INFO L74 IsIncluded]: Start isIncluded. First operand has 90 states, 79 states have (on average 1.1139240506329113) internal successors, (88), 82 states have internal predecessors, (88), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 96 states. [2021-09-13 23:57:53,914 INFO L87 Difference]: Start difference. First operand has 90 states, 79 states have (on average 1.1139240506329113) internal successors, (88), 82 states have internal predecessors, (88), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 96 states. [2021-09-13 23:57:53,914 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:57:53,914 INFO L93 Difference]: Finished difference Result 96 states and 101 transitions. [2021-09-13 23:57:53,914 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 101 transitions. [2021-09-13 23:57:53,915 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:57:53,915 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:57:53,915 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:57:53,915 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:57:53,915 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 90 states, 79 states have (on average 1.1139240506329113) internal successors, (88), 82 states have internal predecessors, (88), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:57:53,916 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 90 states to 90 states and 95 transitions. [2021-09-13 23:57:53,916 INFO L78 Accepts]: Start accepts. Automaton has 90 states and 95 transitions. Word has length 46 [2021-09-13 23:57:53,916 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:57:53,916 INFO L470 AbstractCegarLoop]: Abstraction has 90 states and 95 transitions. [2021-09-13 23:57:53,916 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 29 states, 27 states have (on average 1.4814814814814814) internal successors, (40), 25 states have internal predecessors, (40), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:57:53,916 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 95 transitions. [2021-09-13 23:57:53,916 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2021-09-13 23:57:53,916 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:57:53,917 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 23:57:53,934 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2021-09-13 23:57:54,132 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable25 [2021-09-13 23:57:54,133 INFO L402 AbstractCegarLoop]: === Iteration 27 === Targeting _destroy_in_nondeterministic_orderErr12ASSERT_VIOLATIONMEMORY_FREE === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:57:54,133 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:57:54,133 INFO L82 PathProgramCache]: Analyzing trace with hash -1711410025, now seen corresponding path program 1 times [2021-09-13 23:57:54,133 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 23:57:54,133 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [154841352] [2021-09-13 23:57:54,133 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:57:54,133 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 23:57:54,143 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:57:54,329 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2021-09-13 23:57:54,330 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:57:54,332 INFO L281 TraceCheckUtils]: 0: Hoare triple {16195#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {16158#true} is VALID [2021-09-13 23:57:54,343 INFO L281 TraceCheckUtils]: 1: Hoare triple {16158#true} assume true; {16158#true} is VALID [2021-09-13 23:57:54,343 INFO L276 TraceCheckUtils]: 2: Hoare quadruple {16158#true} {16158#true} #201#return; {16158#true} is VALID [2021-09-13 23:57:54,356 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2021-09-13 23:57:54,362 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:57:54,718 INFO L281 TraceCheckUtils]: 0: Hoare triple {16196#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {16197#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:57:54,719 INFO L281 TraceCheckUtils]: 1: Hoare triple {16197#(= dll_circular_create_~last~0.offset 0)} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {16197#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:57:54,719 INFO L281 TraceCheckUtils]: 2: Hoare triple {16197#(= dll_circular_create_~last~0.offset 0)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {16198#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:57:54,720 INFO L281 TraceCheckUtils]: 3: Hoare triple {16198#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {16198#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:57:54,720 INFO L281 TraceCheckUtils]: 4: Hoare triple {16198#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {16199#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:57:54,721 INFO L281 TraceCheckUtils]: 5: Hoare triple {16199#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {16200#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:57:54,721 INFO L281 TraceCheckUtils]: 6: Hoare triple {16200#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~last~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {16200#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:57:54,722 INFO L281 TraceCheckUtils]: 7: Hoare triple {16200#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~last~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {16201#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~last~0.offset 0) (not (= 0 (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-13 23:57:54,722 INFO L281 TraceCheckUtils]: 8: Hoare triple {16201#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~last~0.offset 0) (not (= 0 (select |#valid| dll_circular_create_~new_head~0.base))))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {16202#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0) (not (= 0 (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-13 23:57:54,723 INFO L281 TraceCheckUtils]: 9: Hoare triple {16202#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0) (not (= 0 (select |#valid| dll_circular_create_~new_head~0.base))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {16203#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (not (= (select |#valid| dll_circular_create_~head~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:57:54,723 INFO L281 TraceCheckUtils]: 10: Hoare triple {16203#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (not (= (select |#valid| dll_circular_create_~head~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {16204#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} is VALID [2021-09-13 23:57:54,724 INFO L281 TraceCheckUtils]: 11: Hoare triple {16204#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {16204#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} is VALID [2021-09-13 23:57:54,725 INFO L281 TraceCheckUtils]: 12: Hoare triple {16204#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {16205#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))))} is VALID [2021-09-13 23:57:54,725 INFO L281 TraceCheckUtils]: 13: Hoare triple {16205#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {16206#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) dll_circular_create_~last~0.base)))} is VALID [2021-09-13 23:57:54,726 INFO L281 TraceCheckUtils]: 14: Hoare triple {16206#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) dll_circular_create_~last~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {16207#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~last~0.base)) (not (= dll_circular_create_~last~0.offset 1)))} is VALID [2021-09-13 23:57:54,726 INFO L281 TraceCheckUtils]: 15: Hoare triple {16207#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~last~0.base)) (not (= dll_circular_create_~last~0.offset 1)))} assume !(~len > 1); {16207#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~last~0.base)) (not (= dll_circular_create_~last~0.offset 1)))} is VALID [2021-09-13 23:57:54,727 INFO L281 TraceCheckUtils]: 16: Hoare triple {16207#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~last~0.base)) (not (= dll_circular_create_~last~0.offset 1)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {16208#(and (not (= dll_circular_create_~last~0.base (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1) (not (= dll_circular_create_~last~0.offset 1)))} is VALID [2021-09-13 23:57:54,728 INFO L281 TraceCheckUtils]: 17: Hoare triple {16208#(and (not (= dll_circular_create_~last~0.base (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1) (not (= dll_circular_create_~last~0.offset 1)))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {16209#(and (= dll_circular_create_~head~0.offset 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4)) 1) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) dll_circular_create_~head~0.base)) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4)))))} is VALID [2021-09-13 23:57:54,728 INFO L281 TraceCheckUtils]: 18: Hoare triple {16209#(and (= dll_circular_create_~head~0.offset 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4)) 1) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) dll_circular_create_~head~0.base)) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4)))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {16210#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:57:54,729 INFO L281 TraceCheckUtils]: 19: Hoare triple {16210#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} assume true; {16210#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:57:54,730 INFO L276 TraceCheckUtils]: 20: Hoare quadruple {16210#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} {16158#true} #197#return; {16184#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4)) 1) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|))) (= |main_#t~ret12.offset| 0))} is VALID [2021-09-13 23:57:54,730 INFO L264 TraceCheckUtils]: 0: Hoare triple {16158#true} call ULTIMATE.init(); {16195#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2021-09-13 23:57:54,731 INFO L281 TraceCheckUtils]: 1: Hoare triple {16195#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {16158#true} is VALID [2021-09-13 23:57:54,731 INFO L281 TraceCheckUtils]: 2: Hoare triple {16158#true} assume true; {16158#true} is VALID [2021-09-13 23:57:54,731 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {16158#true} {16158#true} #201#return; {16158#true} is VALID [2021-09-13 23:57:54,731 INFO L264 TraceCheckUtils]: 4: Hoare triple {16158#true} call #t~ret13 := main(); {16158#true} is VALID [2021-09-13 23:57:54,731 INFO L281 TraceCheckUtils]: 5: Hoare triple {16158#true} ~len~0 := 3; {16158#true} is VALID [2021-09-13 23:57:54,732 INFO L264 TraceCheckUtils]: 6: Hoare triple {16158#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {16196#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2021-09-13 23:57:54,732 INFO L281 TraceCheckUtils]: 7: Hoare triple {16196#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {16197#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:57:54,732 INFO L281 TraceCheckUtils]: 8: Hoare triple {16197#(= dll_circular_create_~last~0.offset 0)} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {16197#(= dll_circular_create_~last~0.offset 0)} is VALID [2021-09-13 23:57:54,733 INFO L281 TraceCheckUtils]: 9: Hoare triple {16197#(= dll_circular_create_~last~0.offset 0)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {16198#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:57:54,733 INFO L281 TraceCheckUtils]: 10: Hoare triple {16198#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {16198#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:57:54,734 INFO L281 TraceCheckUtils]: 11: Hoare triple {16198#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {16199#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:57:54,734 INFO L281 TraceCheckUtils]: 12: Hoare triple {16199#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {16200#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:57:54,735 INFO L281 TraceCheckUtils]: 13: Hoare triple {16200#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~last~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {16200#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:57:54,735 INFO L281 TraceCheckUtils]: 14: Hoare triple {16200#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~last~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {16201#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~last~0.offset 0) (not (= 0 (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-13 23:57:54,736 INFO L281 TraceCheckUtils]: 15: Hoare triple {16201#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~last~0.offset 0) (not (= 0 (select |#valid| dll_circular_create_~new_head~0.base))))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {16202#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0) (not (= 0 (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-13 23:57:54,736 INFO L281 TraceCheckUtils]: 16: Hoare triple {16202#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (= dll_circular_create_~last~0.offset 0) (not (= 0 (select |#valid| dll_circular_create_~new_head~0.base))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {16203#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (not (= (select |#valid| dll_circular_create_~head~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} is VALID [2021-09-13 23:57:54,737 INFO L281 TraceCheckUtils]: 17: Hoare triple {16203#(and (not (= (select |#valid| dll_circular_create_~last~0.base) 0)) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (not (= (select |#valid| dll_circular_create_~head~0.base) 0)) (= dll_circular_create_~last~0.offset 0))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {16204#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} is VALID [2021-09-13 23:57:54,737 INFO L281 TraceCheckUtils]: 18: Hoare triple {16204#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {16204#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} is VALID [2021-09-13 23:57:54,738 INFO L281 TraceCheckUtils]: 19: Hoare triple {16204#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {16205#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))))} is VALID [2021-09-13 23:57:54,738 INFO L281 TraceCheckUtils]: 20: Hoare triple {16205#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= dll_circular_create_~last~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {16206#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) dll_circular_create_~last~0.base)))} is VALID [2021-09-13 23:57:54,739 INFO L281 TraceCheckUtils]: 21: Hoare triple {16206#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~new_head~0.offset dll_circular_create_~last~0.offset) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) dll_circular_create_~last~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {16207#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~last~0.base)) (not (= dll_circular_create_~last~0.offset 1)))} is VALID [2021-09-13 23:57:54,739 INFO L281 TraceCheckUtils]: 22: Hoare triple {16207#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~last~0.base)) (not (= dll_circular_create_~last~0.offset 1)))} assume !(~len > 1); {16207#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~last~0.base)) (not (= dll_circular_create_~last~0.offset 1)))} is VALID [2021-09-13 23:57:54,740 INFO L281 TraceCheckUtils]: 23: Hoare triple {16207#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~last~0.base)) (not (= dll_circular_create_~last~0.offset 1)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {16208#(and (not (= dll_circular_create_~last~0.base (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1) (not (= dll_circular_create_~last~0.offset 1)))} is VALID [2021-09-13 23:57:54,741 INFO L281 TraceCheckUtils]: 24: Hoare triple {16208#(and (not (= dll_circular_create_~last~0.base (select (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~last~0.base) dll_circular_create_~head~0.offset))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1) (not (= dll_circular_create_~last~0.offset 1)))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {16209#(and (= dll_circular_create_~head~0.offset 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4)) 1) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) dll_circular_create_~head~0.base)) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4)))))} is VALID [2021-09-13 23:57:54,741 INFO L281 TraceCheckUtils]: 25: Hoare triple {16209#(and (= dll_circular_create_~head~0.offset 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4)) 1) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) dll_circular_create_~head~0.base)) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4)))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {16210#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:57:54,742 INFO L281 TraceCheckUtils]: 26: Hoare triple {16210#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} assume true; {16210#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:57:54,743 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {16210#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (= |dll_circular_create_#res.offset| 0))} {16158#true} #197#return; {16184#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4)) 1) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|))) (= |main_#t~ret12.offset| 0))} is VALID [2021-09-13 23:57:54,743 INFO L281 TraceCheckUtils]: 28: Hoare triple {16184#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4)) 1) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|))) (= |main_#t~ret12.offset| 0))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {16185#(and (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset) (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))) (= (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)) 1) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))) (= 0 main_~head~1.offset))} is VALID [2021-09-13 23:57:54,744 INFO L264 TraceCheckUtils]: 29: Hoare triple {16185#(and (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset) (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))) (= (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)) 1) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))) (= 0 main_~head~1.offset))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {16186#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)) 1) (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))) (= |_destroy_in_nondeterministic_order_#in~head.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|) (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))))} is VALID [2021-09-13 23:57:54,745 INFO L281 TraceCheckUtils]: 30: Hoare triple {16186#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)) 1) (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))) (= |_destroy_in_nondeterministic_order_#in~head.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|) (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {16187#(and (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4))) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)))))} is VALID [2021-09-13 23:57:54,745 INFO L281 TraceCheckUtils]: 31: Hoare triple {16187#(and (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4))) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)))))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, 4 + ~head.offset, 4); srcloc: L586 {16188#(and (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) |_destroy_in_nondeterministic_order_#t~mem5.base|) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) |_destroy_in_nondeterministic_order_#t~mem5.base|)))} is VALID [2021-09-13 23:57:54,746 INFO L281 TraceCheckUtils]: 32: Hoare triple {16188#(and (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) |_destroy_in_nondeterministic_order_#t~mem5.base|) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) |_destroy_in_nondeterministic_order_#t~mem5.base|)))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {16189#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) _destroy_in_nondeterministic_order_~pred~0.base)) (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1))} is VALID [2021-09-13 23:57:54,746 INFO L281 TraceCheckUtils]: 33: Hoare triple {16189#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) _destroy_in_nondeterministic_order_~pred~0.base)) (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4); srcloc: L587 {16190#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= _destroy_in_nondeterministic_order_~pred~0.base |_destroy_in_nondeterministic_order_#t~mem6.base|)) (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1))} is VALID [2021-09-13 23:57:54,747 INFO L281 TraceCheckUtils]: 34: Hoare triple {16190#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= _destroy_in_nondeterministic_order_~pred~0.base |_destroy_in_nondeterministic_order_#t~mem6.base|)) (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647; {16191#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1))} is VALID [2021-09-13 23:57:54,747 INFO L281 TraceCheckUtils]: 35: Hoare triple {16191#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1))} assume 0 != #t~nondet7;havoc #t~nondet7; {16191#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1))} is VALID [2021-09-13 23:57:54,747 INFO L281 TraceCheckUtils]: 36: Hoare triple {16191#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1))} assume 0 == ~head.offset; {16192#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1))} is VALID [2021-09-13 23:57:54,748 INFO L281 TraceCheckUtils]: 37: Hoare triple {16192#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1))} assume ~head.base < #StackHeapBarrier; {16192#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1))} is VALID [2021-09-13 23:57:54,748 INFO L281 TraceCheckUtils]: 38: Hoare triple {16192#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select (store |#valid| _destroy_in_nondeterministic_order_~head.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1))} assume 0 == ~head.base || 1 == #valid[~head.base];call ULTIMATE.dealloc(~head.base, ~head.offset);assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {16193#(= (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:57:54,749 INFO L281 TraceCheckUtils]: 39: Hoare triple {16193#(= (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume 0 != #t~nondet8;havoc #t~nondet8; {16193#(= (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:57:54,749 INFO L281 TraceCheckUtils]: 40: Hoare triple {16193#(= (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume 0 == ~succ~0.offset; {16193#(= (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:57:54,749 INFO L281 TraceCheckUtils]: 41: Hoare triple {16193#(= (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume ~succ~0.base < #StackHeapBarrier; {16193#(= (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:57:54,750 INFO L281 TraceCheckUtils]: 42: Hoare triple {16193#(= (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base 0) _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume 0 == ~succ~0.base || 1 == #valid[~succ~0.base];call ULTIMATE.dealloc(~succ~0.base, ~succ~0.offset); {16194#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:57:54,750 INFO L281 TraceCheckUtils]: 43: Hoare triple {16194#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume 0 == ~pred~0.offset; {16194#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:57:54,750 INFO L281 TraceCheckUtils]: 44: Hoare triple {16194#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume ~pred~0.base < #StackHeapBarrier; {16194#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} is VALID [2021-09-13 23:57:54,751 INFO L281 TraceCheckUtils]: 45: Hoare triple {16194#(= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1)} assume !(0 == ~pred~0.base || 1 == #valid[~pred~0.base]); {16159#false} is VALID [2021-09-13 23:57:54,751 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:57:54,751 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 23:57:54,751 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [154841352] [2021-09-13 23:57:54,751 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [154841352] provided 0 perfect and 1 imperfect interpolant sequences [2021-09-13 23:57:54,751 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1839799521] [2021-09-13 23:57:54,752 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:57:54,752 INFO L170 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 23:57:54,752 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-09-13 23:57:54,753 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2021-09-13 23:57:54,753 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2021-09-13 23:57:54,839 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:57:54,840 INFO L263 TraceCheckSpWp]: Trace formula consists of 206 conjuncts, 49 conjunts are in the unsatisfiable core [2021-09-13 23:57:54,854 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:57:54,855 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 23:57:54,886 INFO L388 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 [2021-09-13 23:57:54,969 INFO L354 Elim1Store]: treesize reduction 18, result has 35.7 percent of original size [2021-09-13 23:57:54,969 INFO L388 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 [2021-09-13 23:57:55,126 INFO L354 Elim1Store]: treesize reduction 8, result has 52.9 percent of original size [2021-09-13 23:57:55,126 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 16 treesize of output 18 [2021-09-13 23:57:55,191 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2021-09-13 23:57:55,254 INFO L354 Elim1Store]: treesize reduction 29, result has 19.4 percent of original size [2021-09-13 23:57:55,254 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 38 treesize of output 28 [2021-09-13 23:57:55,448 INFO L354 Elim1Store]: treesize reduction 45, result has 16.7 percent of original size [2021-09-13 23:57:55,448 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 41 treesize of output 38 [2021-09-13 23:57:55,708 INFO L354 Elim1Store]: treesize reduction 94, result has 15.3 percent of original size [2021-09-13 23:57:55,709 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 5 case distinctions, treesize of input 57 treesize of output 57 [2021-09-13 23:57:56,794 INFO L190 IndexEqualityManager]: detected not equals via solver [2021-09-13 23:57:56,797 INFO L190 IndexEqualityManager]: detected not equals via solver [2021-09-13 23:57:56,828 INFO L354 Elim1Store]: treesize reduction 124, result has 16.8 percent of original size [2021-09-13 23:57:56,829 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 6 select indices, 6 select index equivalence classes, 3 disjoint index pairs (out of 15 index pairs), introduced 8 new quantified variables, introduced 15 case distinctions, treesize of input 78 treesize of output 60 [2021-09-13 23:57:57,705 INFO L354 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2021-09-13 23:57:57,705 INFO L388 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 1 case distinctions, treesize of input 20 treesize of output 22 [2021-09-13 23:57:58,086 INFO L354 Elim1Store]: treesize reduction 36, result has 23.4 percent of original size [2021-09-13 23:57:58,086 INFO L388 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 3 case distinctions, treesize of input 25 treesize of output 30 [2021-09-13 23:57:58,534 INFO L264 TraceCheckUtils]: 0: Hoare triple {16158#true} call ULTIMATE.init(); {16158#true} is VALID [2021-09-13 23:57:58,535 INFO L281 TraceCheckUtils]: 1: Hoare triple {16158#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {16158#true} is VALID [2021-09-13 23:57:58,535 INFO L281 TraceCheckUtils]: 2: Hoare triple {16158#true} assume true; {16158#true} is VALID [2021-09-13 23:57:58,535 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {16158#true} {16158#true} #201#return; {16158#true} is VALID [2021-09-13 23:57:58,535 INFO L264 TraceCheckUtils]: 4: Hoare triple {16158#true} call #t~ret13 := main(); {16158#true} is VALID [2021-09-13 23:57:58,535 INFO L281 TraceCheckUtils]: 5: Hoare triple {16158#true} ~len~0 := 3; {16158#true} is VALID [2021-09-13 23:57:58,535 INFO L264 TraceCheckUtils]: 6: Hoare triple {16158#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {16158#true} is VALID [2021-09-13 23:57:58,536 INFO L281 TraceCheckUtils]: 7: Hoare triple {16158#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {16235#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:57:58,536 INFO L281 TraceCheckUtils]: 8: Hoare triple {16235#(= (select |#valid| dll_circular_create_~last~0.base) 1)} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {16235#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:57:58,536 INFO L281 TraceCheckUtils]: 9: Hoare triple {16235#(= (select |#valid| dll_circular_create_~last~0.base) 1)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {16235#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:57:58,537 INFO L281 TraceCheckUtils]: 10: Hoare triple {16235#(= (select |#valid| dll_circular_create_~last~0.base) 1)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {16235#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:57:58,537 INFO L281 TraceCheckUtils]: 11: Hoare triple {16235#(= (select |#valid| dll_circular_create_~last~0.base) 1)} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {16248#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:57:58,538 INFO L281 TraceCheckUtils]: 12: Hoare triple {16248#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= (select |#valid| dll_circular_create_~last~0.base) 1))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {16252#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:57:58,538 INFO L281 TraceCheckUtils]: 13: Hoare triple {16252#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {16252#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:57:58,539 INFO L281 TraceCheckUtils]: 14: Hoare triple {16252#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {16252#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:57:58,539 INFO L281 TraceCheckUtils]: 15: Hoare triple {16252#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {16262#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:57:58,540 INFO L281 TraceCheckUtils]: 16: Hoare triple {16262#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {16266#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:57:58,540 INFO L281 TraceCheckUtils]: 17: Hoare triple {16266#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= (select |#valid| dll_circular_create_~last~0.base) 1))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {16270#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)))} is VALID [2021-09-13 23:57:58,541 INFO L281 TraceCheckUtils]: 18: Hoare triple {16270#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {16270#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)))} is VALID [2021-09-13 23:57:58,541 INFO L281 TraceCheckUtils]: 19: Hoare triple {16270#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {16277#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} is VALID [2021-09-13 23:57:58,542 INFO L281 TraceCheckUtils]: 20: Hoare triple {16277#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {16281#(and (exists ((dll_circular_create_~head~0.offset Int)) (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (+ dll_circular_create_~head~0.offset 4)))) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) dll_circular_create_~last~0.base)))} is VALID [2021-09-13 23:57:58,543 INFO L281 TraceCheckUtils]: 21: Hoare triple {16281#(and (exists ((dll_circular_create_~head~0.offset Int)) (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (+ dll_circular_create_~head~0.offset 4)))) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) dll_circular_create_~last~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {16285#(and (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0) dll_circular_create_~last~0.base)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (exists ((v_dll_circular_create_~head~0.offset_100 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_100 4)) dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:57:58,544 INFO L281 TraceCheckUtils]: 22: Hoare triple {16285#(and (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0) dll_circular_create_~last~0.base)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (exists ((v_dll_circular_create_~head~0.offset_100 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_100 4)) dll_circular_create_~head~0.base)))} assume !(~len > 1); {16285#(and (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0) dll_circular_create_~last~0.base)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (exists ((v_dll_circular_create_~head~0.offset_100 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_100 4)) dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:57:58,545 INFO L281 TraceCheckUtils]: 23: Hoare triple {16285#(and (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0) dll_circular_create_~last~0.base)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (exists ((v_dll_circular_create_~head~0.offset_100 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_100 4)) dll_circular_create_~head~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {16292#(and (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0) dll_circular_create_~last~0.base)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1) (exists ((v_dll_circular_create_~head~0.offset_100 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_100 4)) dll_circular_create_~head~0.base)) (exists ((dll_circular_create_~last~0.offset Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset))))} is VALID [2021-09-13 23:57:58,547 INFO L281 TraceCheckUtils]: 24: Hoare triple {16292#(and (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0) dll_circular_create_~last~0.base)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (= (select |#valid| dll_circular_create_~last~0.base) 1) (exists ((v_dll_circular_create_~head~0.offset_100 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_100 4)) dll_circular_create_~head~0.base)) (exists ((dll_circular_create_~last~0.offset Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {16296#(and (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (exists ((dll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4)) dll_circular_create_~last~0.offset) dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.offset_100 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_100 4)) dll_circular_create_~head~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4)) 1) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:57:58,548 INFO L281 TraceCheckUtils]: 25: Hoare triple {16296#(and (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (exists ((dll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4)) dll_circular_create_~last~0.offset) dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.offset_100 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_100 4)) dll_circular_create_~head~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4)) 1) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) dll_circular_create_~head~0.base)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {16300#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0))) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4)) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_100 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0)) (+ v_dll_circular_create_~head~0.offset_100 4)) |dll_circular_create_#res.base|)) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))))} is VALID [2021-09-13 23:57:58,549 INFO L281 TraceCheckUtils]: 26: Hoare triple {16300#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0))) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4)) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_100 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0)) (+ v_dll_circular_create_~head~0.offset_100 4)) |dll_circular_create_#res.base|)) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))))} assume true; {16300#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0))) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4)) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_100 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0)) (+ v_dll_circular_create_~head~0.offset_100 4)) |dll_circular_create_#res.base|)) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))))} is VALID [2021-09-13 23:57:58,550 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {16300#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0))) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4)) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_100 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0)) (+ v_dll_circular_create_~head~0.offset_100 4)) |dll_circular_create_#res.base|)) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))))} {16158#true} #197#return; {16307#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4)) 1) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0) |main_#t~ret12.base|)) (exists ((dll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4)) dll_circular_create_~last~0.offset) |main_#t~ret12.base|)) (exists ((v_dll_circular_create_~head~0.offset_100 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0)) (+ v_dll_circular_create_~head~0.offset_100 4)) |main_#t~ret12.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0))) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|)))} is VALID [2021-09-13 23:57:58,551 INFO L281 TraceCheckUtils]: 28: Hoare triple {16307#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4)) 1) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0) |main_#t~ret12.base|)) (exists ((dll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4)) dll_circular_create_~last~0.offset) |main_#t~ret12.base|)) (exists ((v_dll_circular_create_~head~0.offset_100 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0)) (+ v_dll_circular_create_~head~0.offset_100 4)) |main_#t~ret12.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0))) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|)))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {16311#(and (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) 0) main_~head~1.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)) 1) (exists ((v_dll_circular_create_~head~0.offset_100 Int)) (= main_~head~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) 0)) (+ v_dll_circular_create_~head~0.offset_100 4)))) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) 0) (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= main_~head~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)) dll_circular_create_~last~0.offset))) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))))} is VALID [2021-09-13 23:57:58,552 INFO L264 TraceCheckUtils]: 29: Hoare triple {16311#(and (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) 0) main_~head~1.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)) 1) (exists ((v_dll_circular_create_~head~0.offset_100 Int)) (= main_~head~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) 0)) (+ v_dll_circular_create_~head~0.offset_100 4)))) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) 0) (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= main_~head~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)) dll_circular_create_~last~0.offset))) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {16315#(and (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)) 1) (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))) (exists ((v_dll_circular_create_~head~0.offset_100 Int)) (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0)) (+ v_dll_circular_create_~head~0.offset_100 4)))) (exists ((dll_circular_create_~last~0.offset Int)) (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)) dll_circular_create_~last~0.offset))) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0) (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))))} is VALID [2021-09-13 23:57:58,552 INFO L281 TraceCheckUtils]: 30: Hoare triple {16315#(and (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)) 1) (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))) (exists ((v_dll_circular_create_~head~0.offset_100 Int)) (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0)) (+ v_dll_circular_create_~head~0.offset_100 4)))) (exists ((dll_circular_create_~last~0.offset Int)) (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)) dll_circular_create_~last~0.offset))) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0) (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {16319#(and (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) 1) (exists ((v_dll_circular_create_~head~0.offset_100 Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_100 4)))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} is VALID [2021-09-13 23:57:58,553 INFO L281 TraceCheckUtils]: 31: Hoare triple {16319#(and (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) 1) (exists ((v_dll_circular_create_~head~0.offset_100 Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_100 4)))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, 4 + ~head.offset, 4); srcloc: L586 {16323#(and (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) 1) (exists ((v_dll_circular_create_~head~0.offset_100 Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_100 4)))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)) |_destroy_in_nondeterministic_order_#t~mem5.base|) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} is VALID [2021-09-13 23:57:58,554 INFO L281 TraceCheckUtils]: 32: Hoare triple {16323#(and (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) 1) (exists ((v_dll_circular_create_~head~0.offset_100 Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_100 4)))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)) |_destroy_in_nondeterministic_order_#t~mem5.base|) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {16327#(and (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)) _destroy_in_nondeterministic_order_~pred~0.base) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) 1) (exists ((v_dll_circular_create_~head~0.offset_100 Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_100 4)))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} is VALID [2021-09-13 23:57:58,555 INFO L281 TraceCheckUtils]: 33: Hoare triple {16327#(and (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)) _destroy_in_nondeterministic_order_~pred~0.base) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) 1) (exists ((v_dll_circular_create_~head~0.offset_100 Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_100 4)))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4); srcloc: L587 {16331#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((v_arrayElimIndex_37 Int)) (and (not (= _destroy_in_nondeterministic_order_~head.base v_arrayElimIndex_37)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (= _destroy_in_nondeterministic_order_~pred~0.base v_arrayElimIndex_37)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (and (not (= |_destroy_in_nondeterministic_order_#t~mem6.base| v_arrayElimIndex_37)) (not (= _destroy_in_nondeterministic_order_~head.base |_destroy_in_nondeterministic_order_#t~mem6.base|)))) (= (select |#valid| v_arrayElimIndex_37) 1) (or (= |_destroy_in_nondeterministic_order_#t~mem6.base| v_arrayElimIndex_37) (not (= _destroy_in_nondeterministic_order_~head.offset 4))))))} is VALID [2021-09-13 23:57:58,556 INFO L281 TraceCheckUtils]: 34: Hoare triple {16331#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((v_arrayElimIndex_37 Int)) (and (not (= _destroy_in_nondeterministic_order_~head.base v_arrayElimIndex_37)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (= _destroy_in_nondeterministic_order_~pred~0.base v_arrayElimIndex_37)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (and (not (= |_destroy_in_nondeterministic_order_#t~mem6.base| v_arrayElimIndex_37)) (not (= _destroy_in_nondeterministic_order_~head.base |_destroy_in_nondeterministic_order_#t~mem6.base|)))) (= (select |#valid| v_arrayElimIndex_37) 1) (or (= |_destroy_in_nondeterministic_order_#t~mem6.base| v_arrayElimIndex_37) (not (= _destroy_in_nondeterministic_order_~head.offset 4))))))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647; {16335#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((v_arrayElimIndex_37 Int)) (and (not (= _destroy_in_nondeterministic_order_~head.base v_arrayElimIndex_37)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (= _destroy_in_nondeterministic_order_~pred~0.base v_arrayElimIndex_37)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (and (not (= _destroy_in_nondeterministic_order_~succ~0.base v_arrayElimIndex_37)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)))) (or (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (= _destroy_in_nondeterministic_order_~succ~0.base v_arrayElimIndex_37)) (= (select |#valid| v_arrayElimIndex_37) 1))))} is VALID [2021-09-13 23:57:58,556 INFO L281 TraceCheckUtils]: 35: Hoare triple {16335#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((v_arrayElimIndex_37 Int)) (and (not (= _destroy_in_nondeterministic_order_~head.base v_arrayElimIndex_37)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (= _destroy_in_nondeterministic_order_~pred~0.base v_arrayElimIndex_37)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (and (not (= _destroy_in_nondeterministic_order_~succ~0.base v_arrayElimIndex_37)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)))) (or (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (= _destroy_in_nondeterministic_order_~succ~0.base v_arrayElimIndex_37)) (= (select |#valid| v_arrayElimIndex_37) 1))))} assume 0 != #t~nondet7;havoc #t~nondet7; {16335#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((v_arrayElimIndex_37 Int)) (and (not (= _destroy_in_nondeterministic_order_~head.base v_arrayElimIndex_37)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (= _destroy_in_nondeterministic_order_~pred~0.base v_arrayElimIndex_37)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (and (not (= _destroy_in_nondeterministic_order_~succ~0.base v_arrayElimIndex_37)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)))) (or (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (= _destroy_in_nondeterministic_order_~succ~0.base v_arrayElimIndex_37)) (= (select |#valid| v_arrayElimIndex_37) 1))))} is VALID [2021-09-13 23:57:58,557 INFO L281 TraceCheckUtils]: 36: Hoare triple {16335#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((v_arrayElimIndex_37 Int)) (and (not (= _destroy_in_nondeterministic_order_~head.base v_arrayElimIndex_37)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (= _destroy_in_nondeterministic_order_~pred~0.base v_arrayElimIndex_37)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (and (not (= _destroy_in_nondeterministic_order_~succ~0.base v_arrayElimIndex_37)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)))) (or (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (= _destroy_in_nondeterministic_order_~succ~0.base v_arrayElimIndex_37)) (= (select |#valid| v_arrayElimIndex_37) 1))))} assume 0 == ~head.offset; {16342#(and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} is VALID [2021-09-13 23:57:58,557 INFO L281 TraceCheckUtils]: 37: Hoare triple {16342#(and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} assume ~head.base < #StackHeapBarrier; {16342#(and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} is VALID [2021-09-13 23:57:58,558 INFO L281 TraceCheckUtils]: 38: Hoare triple {16342#(and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} assume 0 == ~head.base || 1 == #valid[~head.base];call ULTIMATE.dealloc(~head.base, ~head.offset);assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {16349#(and (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)) (exists ((_destroy_in_nondeterministic_order_~head.base Int)) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0))))} is VALID [2021-09-13 23:57:58,558 INFO L281 TraceCheckUtils]: 39: Hoare triple {16349#(and (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)) (exists ((_destroy_in_nondeterministic_order_~head.base Int)) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0))))} assume 0 != #t~nondet8;havoc #t~nondet8; {16349#(and (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)) (exists ((_destroy_in_nondeterministic_order_~head.base Int)) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0))))} is VALID [2021-09-13 23:57:58,559 INFO L281 TraceCheckUtils]: 40: Hoare triple {16349#(and (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)) (exists ((_destroy_in_nondeterministic_order_~head.base Int)) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0))))} assume 0 == ~succ~0.offset; {16349#(and (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)) (exists ((_destroy_in_nondeterministic_order_~head.base Int)) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0))))} is VALID [2021-09-13 23:57:58,559 INFO L281 TraceCheckUtils]: 41: Hoare triple {16349#(and (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)) (exists ((_destroy_in_nondeterministic_order_~head.base Int)) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0))))} assume ~succ~0.base < #StackHeapBarrier; {16349#(and (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)) (exists ((_destroy_in_nondeterministic_order_~head.base Int)) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0))))} is VALID [2021-09-13 23:57:58,560 INFO L281 TraceCheckUtils]: 42: Hoare triple {16349#(and (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)) (exists ((_destroy_in_nondeterministic_order_~head.base Int)) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0))))} assume 0 == ~succ~0.base || 1 == #valid[~succ~0.base];call ULTIMATE.dealloc(~succ~0.base, ~succ~0.offset); {16362#(and (exists ((_destroy_in_nondeterministic_order_~head.base Int) (_destroy_in_nondeterministic_order_~succ~0.base Int)) (and (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0))) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1))} is VALID [2021-09-13 23:57:58,560 INFO L281 TraceCheckUtils]: 43: Hoare triple {16362#(and (exists ((_destroy_in_nondeterministic_order_~head.base Int) (_destroy_in_nondeterministic_order_~succ~0.base Int)) (and (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0))) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1))} assume 0 == ~pred~0.offset; {16362#(and (exists ((_destroy_in_nondeterministic_order_~head.base Int) (_destroy_in_nondeterministic_order_~succ~0.base Int)) (and (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0))) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1))} is VALID [2021-09-13 23:57:58,561 INFO L281 TraceCheckUtils]: 44: Hoare triple {16362#(and (exists ((_destroy_in_nondeterministic_order_~head.base Int) (_destroy_in_nondeterministic_order_~succ~0.base Int)) (and (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0))) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1))} assume ~pred~0.base < #StackHeapBarrier; {16362#(and (exists ((_destroy_in_nondeterministic_order_~head.base Int) (_destroy_in_nondeterministic_order_~succ~0.base Int)) (and (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0))) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1))} is VALID [2021-09-13 23:57:58,561 INFO L281 TraceCheckUtils]: 45: Hoare triple {16362#(and (exists ((_destroy_in_nondeterministic_order_~head.base Int) (_destroy_in_nondeterministic_order_~succ~0.base Int)) (and (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 0))) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 1))} assume !(0 == ~pred~0.base || 1 == #valid[~pred~0.base]); {16159#false} is VALID [2021-09-13 23:57:58,562 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:57:58,562 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 23:57:59,595 WARN L870 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2021-09-13 23:58:00,712 WARN L838 $PredicateComparison]: unable to prove that (forall ((_destroy_in_nondeterministic_order_~head.offset Int)) (or (let ((.cse0 (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base) (+ c_dll_circular_create_~head~0.offset 4) c_dll_circular_create_~last~0.base))) (let ((.cse1 (select .cse0 (+ _destroy_in_nondeterministic_order_~head.offset 4)))) (and (not (= (select .cse0 _destroy_in_nondeterministic_order_~head.offset) .cse1)) (= (select (store |c_#valid| c_dll_circular_create_~head~0.base 0) .cse1) 1)))) (< 0 _destroy_in_nondeterministic_order_~head.offset) (< _destroy_in_nondeterministic_order_~head.offset 0))) is different from false [2021-09-13 23:58:00,787 INFO L354 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2021-09-13 23:58:00,788 INFO L388 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 101 treesize of output 105 [2021-09-13 23:58:37,825 WARN L838 $PredicateComparison]: unable to prove that (forall ((_destroy_in_nondeterministic_order_~head.offset Int)) (or (and (forall ((dll_circular_create_~last~0.offset Int)) (= c_dll_circular_create_~last~0.base (select (store (select (store |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.base)) c_dll_circular_create_~new_head~0.base) (+ c_dll_circular_create_~new_head~0.offset 4) c_dll_circular_create_~last~0.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)))) (forall ((dll_circular_create_~last~0.offset Int)) (not (= c_dll_circular_create_~new_head~0.base (select (store (select (store |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.base)) c_dll_circular_create_~new_head~0.base) (+ c_dll_circular_create_~new_head~0.offset 4) c_dll_circular_create_~last~0.base) (+ _destroy_in_nondeterministic_order_~head.offset 4))))) (forall ((dll_circular_create_~last~0.offset Int)) (not (let ((.cse0 (store (select (store |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.base)) c_dll_circular_create_~new_head~0.base) (+ c_dll_circular_create_~new_head~0.offset 4) c_dll_circular_create_~last~0.base))) (= (select .cse0 _destroy_in_nondeterministic_order_~head.offset) (select .cse0 (+ _destroy_in_nondeterministic_order_~head.offset 4))))))) (< 0 _destroy_in_nondeterministic_order_~head.offset) (< _destroy_in_nondeterministic_order_~head.offset 0))) is different from false [2021-09-13 23:58:40,217 WARN L838 $PredicateComparison]: unable to prove that (forall ((_destroy_in_nondeterministic_order_~head.offset Int)) (or (and (forall ((dll_circular_create_~last~0.offset Int) (dll_circular_create_~head~0.offset Int)) (= (select (store (select (let ((.cse0 (store |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) c_dll_circular_create_~new_head~0.base)))) (store .cse0 c_dll_circular_create_~last~0.base (store (select .cse0 c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.base))) c_dll_circular_create_~new_head~0.base) (+ c_dll_circular_create_~new_head~0.offset 4) c_dll_circular_create_~last~0.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)) c_dll_circular_create_~last~0.base)) (forall ((dll_circular_create_~last~0.offset Int) (dll_circular_create_~head~0.offset Int)) (not (let ((.cse1 (store (select (let ((.cse2 (store |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) c_dll_circular_create_~new_head~0.base)))) (store .cse2 c_dll_circular_create_~last~0.base (store (select .cse2 c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.base))) c_dll_circular_create_~new_head~0.base) (+ c_dll_circular_create_~new_head~0.offset 4) c_dll_circular_create_~last~0.base))) (= (select .cse1 (+ _destroy_in_nondeterministic_order_~head.offset 4)) (select .cse1 _destroy_in_nondeterministic_order_~head.offset))))) (forall ((dll_circular_create_~last~0.offset Int) (dll_circular_create_~head~0.offset Int)) (not (= c_dll_circular_create_~new_head~0.base (select (store (select (let ((.cse3 (store |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) c_dll_circular_create_~new_head~0.base)))) (store .cse3 c_dll_circular_create_~last~0.base (store (select .cse3 c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.base))) c_dll_circular_create_~new_head~0.base) (+ c_dll_circular_create_~new_head~0.offset 4) c_dll_circular_create_~last~0.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)))))) (< 0 _destroy_in_nondeterministic_order_~head.offset) (< _destroy_in_nondeterministic_order_~head.offset 0))) is different from false [2021-09-13 23:58:40,525 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_DEPENDING: Alternating quantifiers not yet supported [2021-09-13 23:58:40,525 INFO L186 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2021-09-13 23:58:40,525 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [28] total 28 [2021-09-13 23:58:40,526 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [752330417] [2021-09-13 23:58:40,526 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 27 states have (on average 1.4814814814814814) internal successors, (40), 25 states have internal predecessors, (40), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 46 [2021-09-13 23:58:40,526 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:58:40,526 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 29 states, 27 states have (on average 1.4814814814814814) internal successors, (40), 25 states have internal predecessors, (40), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:58:40,583 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:58:40,583 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 29 states [2021-09-13 23:58:40,583 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 23:58:40,584 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2021-09-13 23:58:40,585 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=199, Invalid=3656, Unknown=63, NotChecked=372, Total=4290 [2021-09-13 23:58:40,586 INFO L87 Difference]: Start difference. First operand 90 states and 95 transitions. Second operand has 29 states, 27 states have (on average 1.4814814814814814) internal successors, (40), 25 states have internal predecessors, (40), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:58:57,966 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:58:57,966 INFO L93 Difference]: Finished difference Result 92 states and 97 transitions. [2021-09-13 23:58:57,966 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2021-09-13 23:58:57,966 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 27 states have (on average 1.4814814814814814) internal successors, (40), 25 states have internal predecessors, (40), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 46 [2021-09-13 23:58:57,966 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:58:57,967 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 27 states have (on average 1.4814814814814814) internal successors, (40), 25 states have internal predecessors, (40), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:58:57,967 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 99 transitions. [2021-09-13 23:58:57,967 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 27 states have (on average 1.4814814814814814) internal successors, (40), 25 states have internal predecessors, (40), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:58:57,975 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 99 transitions. [2021-09-13 23:58:57,975 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states and 99 transitions. [2021-09-13 23:58:58,058 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:58:58,059 INFO L225 Difference]: With dead ends: 92 [2021-09-13 23:58:58,059 INFO L226 Difference]: Without dead ends: 92 [2021-09-13 23:58:58,059 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 37 SyntacticMatches, 1 SemanticMatches, 83 ConstructedPredicates, 3 IntricatePredicates, 0 DeprecatedPredicates, 1372 ImplicationChecksByTransitivity, 55362.66ms TimeCoverageRelationStatistics Valid=428, Invalid=6144, Unknown=82, NotChecked=486, Total=7140 [2021-09-13 23:58:58,060 INFO L928 BasicCegarLoop]: 7 mSDtfsCounter, 168 mSDsluCounter, 576 mSDsCounter, 0 mSdLazyCounter, 1759 mSolverCounterSat, 56 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1476.38ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 168 SdHoareTripleChecker+Valid, 79 SdHoareTripleChecker+Invalid, 1815 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 4.23ms SdHoareTripleChecker+Time, 56 IncrementalHoareTripleChecker+Valid, 1759 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1488.43ms IncrementalHoareTripleChecker+Time [2021-09-13 23:58:58,061 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [168 Valid, 79 Invalid, 1815 Unknown, 0 Unchecked, 4.23ms Time], IncrementalHoareTripleChecker [56 Valid, 1759 Invalid, 0 Unknown, 0 Unchecked, 1488.43ms Time] [2021-09-13 23:58:58,061 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2021-09-13 23:58:58,076 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 88. [2021-09-13 23:58:58,077 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:58:58,077 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand has 88 states, 79 states have (on average 1.0886075949367089) internal successors, (86), 80 states have internal predecessors, (86), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:58:58,077 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand has 88 states, 79 states have (on average 1.0886075949367089) internal successors, (86), 80 states have internal predecessors, (86), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:58:58,077 INFO L87 Difference]: Start difference. First operand 92 states. Second operand has 88 states, 79 states have (on average 1.0886075949367089) internal successors, (86), 80 states have internal predecessors, (86), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:58:58,079 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:58:58,079 INFO L93 Difference]: Finished difference Result 92 states and 97 transitions. [2021-09-13 23:58:58,079 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 97 transitions. [2021-09-13 23:58:58,081 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:58:58,081 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:58:58,081 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 79 states have (on average 1.0886075949367089) internal successors, (86), 80 states have internal predecessors, (86), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 92 states. [2021-09-13 23:58:58,081 INFO L87 Difference]: Start difference. First operand has 88 states, 79 states have (on average 1.0886075949367089) internal successors, (86), 80 states have internal predecessors, (86), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 92 states. [2021-09-13 23:58:58,082 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:58:58,082 INFO L93 Difference]: Finished difference Result 92 states and 97 transitions. [2021-09-13 23:58:58,082 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 97 transitions. [2021-09-13 23:58:58,083 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:58:58,083 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:58:58,083 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:58:58,083 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:58:58,083 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 79 states have (on average 1.0886075949367089) internal successors, (86), 80 states have internal predecessors, (86), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:58:58,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 93 transitions. [2021-09-13 23:58:58,086 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 93 transitions. Word has length 46 [2021-09-13 23:58:58,086 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:58:58,086 INFO L470 AbstractCegarLoop]: Abstraction has 88 states and 93 transitions. [2021-09-13 23:58:58,087 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 29 states, 27 states have (on average 1.4814814814814814) internal successors, (40), 25 states have internal predecessors, (40), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:58:58,087 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 93 transitions. [2021-09-13 23:58:58,087 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2021-09-13 23:58:58,087 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:58:58,087 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 23:58:58,104 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2021-09-13 23:58:58,304 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable26 [2021-09-13 23:58:58,304 INFO L402 AbstractCegarLoop]: === Iteration 28 === Targeting _destroy_in_nondeterministic_orderErr33ASSERT_VIOLATIONMEMORY_FREE === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:58:58,304 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:58:58,304 INFO L82 PathProgramCache]: Analyzing trace with hash 52368473, now seen corresponding path program 1 times [2021-09-13 23:58:58,305 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 23:58:58,305 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [629075111] [2021-09-13 23:58:58,305 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:58:58,305 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 23:58:58,318 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:58:58,571 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2021-09-13 23:58:58,571 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:58:58,575 INFO L281 TraceCheckUtils]: 0: Hoare triple {16908#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {16871#true} is VALID [2021-09-13 23:58:58,575 INFO L281 TraceCheckUtils]: 1: Hoare triple {16871#true} assume true; {16871#true} is VALID [2021-09-13 23:58:58,575 INFO L276 TraceCheckUtils]: 2: Hoare quadruple {16871#true} {16871#true} #201#return; {16871#true} is VALID [2021-09-13 23:58:58,592 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2021-09-13 23:58:58,597 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:58:58,897 INFO L281 TraceCheckUtils]: 0: Hoare triple {16909#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {16871#true} is VALID [2021-09-13 23:58:58,897 INFO L281 TraceCheckUtils]: 1: Hoare triple {16871#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {16871#true} is VALID [2021-09-13 23:58:58,897 INFO L281 TraceCheckUtils]: 2: Hoare triple {16871#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {16871#true} is VALID [2021-09-13 23:58:58,897 INFO L281 TraceCheckUtils]: 3: Hoare triple {16871#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {16871#true} is VALID [2021-09-13 23:58:58,898 INFO L281 TraceCheckUtils]: 4: Hoare triple {16871#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {16910#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:58:58,898 INFO L281 TraceCheckUtils]: 5: Hoare triple {16910#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {16910#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:58:58,898 INFO L281 TraceCheckUtils]: 6: Hoare triple {16910#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {16910#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:58:58,899 INFO L281 TraceCheckUtils]: 7: Hoare triple {16910#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {16911#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:58:58,899 INFO L281 TraceCheckUtils]: 8: Hoare triple {16911#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {16912#(and (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:58:58,900 INFO L281 TraceCheckUtils]: 9: Hoare triple {16912#(and (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {16913#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:58:58,900 INFO L281 TraceCheckUtils]: 10: Hoare triple {16913#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (= (select |#valid| dll_circular_create_~last~0.base) 1))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {16914#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:58:58,901 INFO L281 TraceCheckUtils]: 11: Hoare triple {16914#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {16914#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:58:58,902 INFO L281 TraceCheckUtils]: 12: Hoare triple {16914#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {16915#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~head~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} is VALID [2021-09-13 23:58:58,902 INFO L281 TraceCheckUtils]: 13: Hoare triple {16915#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~head~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {16916#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))))} is VALID [2021-09-13 23:58:58,903 INFO L281 TraceCheckUtils]: 14: Hoare triple {16916#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {16917#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:58:58,903 INFO L281 TraceCheckUtils]: 15: Hoare triple {16917#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base)))} assume !(~len > 1); {16917#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:58:58,904 INFO L281 TraceCheckUtils]: 16: Hoare triple {16917#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {16917#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:58:58,905 INFO L281 TraceCheckUtils]: 17: Hoare triple {16917#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base)))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {16918#(and (= dll_circular_create_~head~0.offset 0) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4)))) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} is VALID [2021-09-13 23:58:58,905 INFO L281 TraceCheckUtils]: 18: Hoare triple {16918#(and (= dll_circular_create_~head~0.offset 0) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4)))) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {16919#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:58:58,906 INFO L281 TraceCheckUtils]: 19: Hoare triple {16919#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))) (= |dll_circular_create_#res.offset| 0))} assume true; {16919#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:58:58,907 INFO L276 TraceCheckUtils]: 20: Hoare quadruple {16919#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))) (= |dll_circular_create_#res.offset| 0))} {16871#true} #197#return; {16897#(and (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|)) (= |main_#t~ret12.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|) |main_#t~ret12.base|)))} is VALID [2021-09-13 23:58:58,907 INFO L264 TraceCheckUtils]: 0: Hoare triple {16871#true} call ULTIMATE.init(); {16908#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2021-09-13 23:58:58,907 INFO L281 TraceCheckUtils]: 1: Hoare triple {16908#(and (= |old(#valid)| |#valid|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {16871#true} is VALID [2021-09-13 23:58:58,908 INFO L281 TraceCheckUtils]: 2: Hoare triple {16871#true} assume true; {16871#true} is VALID [2021-09-13 23:58:58,908 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {16871#true} {16871#true} #201#return; {16871#true} is VALID [2021-09-13 23:58:58,908 INFO L264 TraceCheckUtils]: 4: Hoare triple {16871#true} call #t~ret13 := main(); {16871#true} is VALID [2021-09-13 23:58:58,908 INFO L281 TraceCheckUtils]: 5: Hoare triple {16871#true} ~len~0 := 3; {16871#true} is VALID [2021-09-13 23:58:58,908 INFO L264 TraceCheckUtils]: 6: Hoare triple {16871#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {16909#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2021-09-13 23:58:58,909 INFO L281 TraceCheckUtils]: 7: Hoare triple {16909#(and (= |old(#length)| |#length|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {16871#true} is VALID [2021-09-13 23:58:58,909 INFO L281 TraceCheckUtils]: 8: Hoare triple {16871#true} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {16871#true} is VALID [2021-09-13 23:58:58,909 INFO L281 TraceCheckUtils]: 9: Hoare triple {16871#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {16871#true} is VALID [2021-09-13 23:58:58,909 INFO L281 TraceCheckUtils]: 10: Hoare triple {16871#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {16871#true} is VALID [2021-09-13 23:58:58,909 INFO L281 TraceCheckUtils]: 11: Hoare triple {16871#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {16910#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:58:58,909 INFO L281 TraceCheckUtils]: 12: Hoare triple {16910#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {16910#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:58:58,910 INFO L281 TraceCheckUtils]: 13: Hoare triple {16910#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {16910#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} is VALID [2021-09-13 23:58:58,910 INFO L281 TraceCheckUtils]: 14: Hoare triple {16910#(= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {16911#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:58:58,911 INFO L281 TraceCheckUtils]: 15: Hoare triple {16911#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {16912#(and (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:58:58,911 INFO L281 TraceCheckUtils]: 16: Hoare triple {16912#(and (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {16913#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:58:58,912 INFO L281 TraceCheckUtils]: 17: Hoare triple {16913#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (= (select |#valid| dll_circular_create_~last~0.base) 1))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {16914#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:58:58,912 INFO L281 TraceCheckUtils]: 18: Hoare triple {16914#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {16914#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:58:58,913 INFO L281 TraceCheckUtils]: 19: Hoare triple {16914#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {16915#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~head~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} is VALID [2021-09-13 23:58:58,914 INFO L281 TraceCheckUtils]: 20: Hoare triple {16915#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~head~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {16916#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))))} is VALID [2021-09-13 23:58:58,914 INFO L281 TraceCheckUtils]: 21: Hoare triple {16916#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {16917#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:58:58,915 INFO L281 TraceCheckUtils]: 22: Hoare triple {16917#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base)))} assume !(~len > 1); {16917#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:58:58,916 INFO L281 TraceCheckUtils]: 23: Hoare triple {16917#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {16917#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:58:58,916 INFO L281 TraceCheckUtils]: 24: Hoare triple {16917#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (not (= (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) dll_circular_create_~head~0.base)))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {16918#(and (= dll_circular_create_~head~0.offset 0) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4)))) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} is VALID [2021-09-13 23:58:58,917 INFO L281 TraceCheckUtils]: 25: Hoare triple {16918#(and (= dll_circular_create_~head~0.offset 0) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4)))) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {16919#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:58:58,917 INFO L281 TraceCheckUtils]: 26: Hoare triple {16919#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))) (= |dll_circular_create_#res.offset| 0))} assume true; {16919#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))) (= |dll_circular_create_#res.offset| 0))} is VALID [2021-09-13 23:58:58,918 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {16919#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))) (= |dll_circular_create_#res.offset| 0))} {16871#true} #197#return; {16897#(and (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|)) (= |main_#t~ret12.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|) |main_#t~ret12.base|)))} is VALID [2021-09-13 23:58:58,919 INFO L281 TraceCheckUtils]: 28: Hoare triple {16897#(and (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|)) (= |main_#t~ret12.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|) |main_#t~ret12.base|)))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {16898#(and (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset) main_~head~1.base)) (= 0 main_~head~1.offset))} is VALID [2021-09-13 23:58:58,920 INFO L264 TraceCheckUtils]: 29: Hoare triple {16898#(and (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset) main_~head~1.base)) (= 0 main_~head~1.offset))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {16899#(and (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))) (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|))) (= |_destroy_in_nondeterministic_order_#in~head.offset| 0))} is VALID [2021-09-13 23:58:58,920 INFO L281 TraceCheckUtils]: 30: Hoare triple {16899#(and (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))) (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|))) (= |_destroy_in_nondeterministic_order_#in~head.offset| 0))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {16900#(and (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)) _destroy_in_nondeterministic_order_~head.base)))} is VALID [2021-09-13 23:58:58,921 INFO L281 TraceCheckUtils]: 31: Hoare triple {16900#(and (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)) _destroy_in_nondeterministic_order_~head.base)))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, 4 + ~head.offset, 4); srcloc: L586 {16901#(and (not (= _destroy_in_nondeterministic_order_~head.base |_destroy_in_nondeterministic_order_#t~mem5.base|)) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) _destroy_in_nondeterministic_order_~head.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.offset 0))} is VALID [2021-09-13 23:58:58,921 INFO L281 TraceCheckUtils]: 32: Hoare triple {16901#(and (not (= _destroy_in_nondeterministic_order_~head.base |_destroy_in_nondeterministic_order_#t~mem5.base|)) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) _destroy_in_nondeterministic_order_~head.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.offset 0))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {16902#(and (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) _destroy_in_nondeterministic_order_~head.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} is VALID [2021-09-13 23:58:58,922 INFO L281 TraceCheckUtils]: 33: Hoare triple {16902#(and (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) _destroy_in_nondeterministic_order_~head.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4); srcloc: L587 {16903#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)) (not (= _destroy_in_nondeterministic_order_~head.base |_destroy_in_nondeterministic_order_#t~mem6.base|)))} is VALID [2021-09-13 23:58:58,922 INFO L281 TraceCheckUtils]: 34: Hoare triple {16903#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)) (not (= _destroy_in_nondeterministic_order_~head.base |_destroy_in_nondeterministic_order_#t~mem6.base|)))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647; {16904#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} is VALID [2021-09-13 23:58:58,923 INFO L281 TraceCheckUtils]: 35: Hoare triple {16904#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} assume !(0 != #t~nondet7);havoc #t~nondet7;assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {16904#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} is VALID [2021-09-13 23:58:58,923 INFO L281 TraceCheckUtils]: 36: Hoare triple {16904#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} assume 0 != #t~nondet9;havoc #t~nondet9; {16904#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} is VALID [2021-09-13 23:58:58,924 INFO L281 TraceCheckUtils]: 37: Hoare triple {16904#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} assume 0 == ~succ~0.offset; {16904#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} is VALID [2021-09-13 23:58:58,924 INFO L281 TraceCheckUtils]: 38: Hoare triple {16904#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} assume ~succ~0.base < #StackHeapBarrier; {16904#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} is VALID [2021-09-13 23:58:58,925 INFO L281 TraceCheckUtils]: 39: Hoare triple {16904#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.offset 0) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)))} assume 0 == ~succ~0.base || 1 == #valid[~succ~0.base];call ULTIMATE.dealloc(~succ~0.base, ~succ~0.offset);assume -2147483648 <= #t~nondet10 && #t~nondet10 <= 2147483647; {16905#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1))} is VALID [2021-09-13 23:58:58,925 INFO L281 TraceCheckUtils]: 40: Hoare triple {16905#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1))} assume !(0 != #t~nondet10);havoc #t~nondet10; {16905#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1))} is VALID [2021-09-13 23:58:58,926 INFO L281 TraceCheckUtils]: 41: Hoare triple {16905#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1))} assume 0 == ~pred~0.offset; {16905#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1))} is VALID [2021-09-13 23:58:58,926 INFO L281 TraceCheckUtils]: 42: Hoare triple {16905#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1))} assume ~pred~0.base < #StackHeapBarrier; {16905#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1))} is VALID [2021-09-13 23:58:58,926 INFO L281 TraceCheckUtils]: 43: Hoare triple {16905#(and (= _destroy_in_nondeterministic_order_~head.offset 0) (= (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base 0) _destroy_in_nondeterministic_order_~head.base) 1))} assume 0 == ~pred~0.base || 1 == #valid[~pred~0.base];call ULTIMATE.dealloc(~pred~0.base, ~pred~0.offset); {16906#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.offset 0))} is VALID [2021-09-13 23:58:58,927 INFO L281 TraceCheckUtils]: 44: Hoare triple {16906#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.offset 0))} assume 0 == ~head.offset; {16907#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} is VALID [2021-09-13 23:58:58,927 INFO L281 TraceCheckUtils]: 45: Hoare triple {16907#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} assume ~head.base < #StackHeapBarrier; {16907#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} is VALID [2021-09-13 23:58:58,927 INFO L281 TraceCheckUtils]: 46: Hoare triple {16907#(= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1)} assume !(0 == ~head.base || 1 == #valid[~head.base]); {16872#false} is VALID [2021-09-13 23:58:58,928 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:58:58,928 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-09-13 23:58:58,928 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [629075111] [2021-09-13 23:58:58,928 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [629075111] provided 0 perfect and 1 imperfect interpolant sequences [2021-09-13 23:58:58,928 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1473864342] [2021-09-13 23:58:58,928 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:58:58,928 INFO L170 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 23:58:58,928 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-09-13 23:58:58,929 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2021-09-13 23:58:58,930 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2021-09-13 23:58:59,015 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:58:59,016 INFO L263 TraceCheckSpWp]: Trace formula consists of 211 conjuncts, 45 conjunts are in the unsatisfiable core [2021-09-13 23:58:59,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:58:59,025 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 23:58:59,045 INFO L388 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 [2021-09-13 23:58:59,117 INFO L354 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2021-09-13 23:58:59,118 INFO L388 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 14 [2021-09-13 23:58:59,227 INFO L354 Elim1Store]: treesize reduction 16, result has 36.0 percent of original size [2021-09-13 23:58:59,228 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 16 treesize of output 18 [2021-09-13 23:58:59,268 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2021-09-13 23:58:59,346 INFO L354 Elim1Store]: treesize reduction 29, result has 19.4 percent of original size [2021-09-13 23:58:59,346 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 47 treesize of output 46 [2021-09-13 23:58:59,587 INFO L354 Elim1Store]: treesize reduction 45, result has 16.7 percent of original size [2021-09-13 23:58:59,587 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 33 treesize of output 34 [2021-09-13 23:58:59,758 INFO L354 Elim1Store]: treesize reduction 94, result has 15.3 percent of original size [2021-09-13 23:58:59,774 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 5 case distinctions, treesize of input 44 treesize of output 48 [2021-09-13 23:59:00,616 INFO L190 IndexEqualityManager]: detected not equals via solver [2021-09-13 23:59:00,617 INFO L190 IndexEqualityManager]: detected not equals via solver [2021-09-13 23:59:00,647 INFO L354 Elim1Store]: treesize reduction 124, result has 16.8 percent of original size [2021-09-13 23:59:00,648 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 6 select indices, 6 select index equivalence classes, 3 disjoint index pairs (out of 15 index pairs), introduced 8 new quantified variables, introduced 12 case distinctions, treesize of input 57 treesize of output 51 [2021-09-13 23:59:01,104 INFO L354 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2021-09-13 23:59:01,105 INFO L388 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 45 treesize of output 51 [2021-09-13 23:59:01,783 INFO L354 Elim1Store]: treesize reduction 24, result has 48.9 percent of original size [2021-09-13 23:59:01,783 INFO L388 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 3 case distinctions, treesize of input 54 treesize of output 71 [2021-09-13 23:59:02,874 INFO L264 TraceCheckUtils]: 0: Hoare triple {16871#true} call ULTIMATE.init(); {16871#true} is VALID [2021-09-13 23:59:02,874 INFO L281 TraceCheckUtils]: 1: Hoare triple {16871#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {16871#true} is VALID [2021-09-13 23:59:02,874 INFO L281 TraceCheckUtils]: 2: Hoare triple {16871#true} assume true; {16871#true} is VALID [2021-09-13 23:59:02,874 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {16871#true} {16871#true} #201#return; {16871#true} is VALID [2021-09-13 23:59:02,874 INFO L264 TraceCheckUtils]: 4: Hoare triple {16871#true} call #t~ret13 := main(); {16871#true} is VALID [2021-09-13 23:59:02,874 INFO L281 TraceCheckUtils]: 5: Hoare triple {16871#true} ~len~0 := 3; {16871#true} is VALID [2021-09-13 23:59:02,874 INFO L264 TraceCheckUtils]: 6: Hoare triple {16871#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {16871#true} is VALID [2021-09-13 23:59:02,875 INFO L281 TraceCheckUtils]: 7: Hoare triple {16871#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {16944#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:59:02,875 INFO L281 TraceCheckUtils]: 8: Hoare triple {16944#(= (select |#valid| dll_circular_create_~last~0.base) 1)} assume !(0 == ~last~0.base && 0 == ~last~0.offset); {16944#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:59:02,876 INFO L281 TraceCheckUtils]: 9: Hoare triple {16944#(= (select |#valid| dll_circular_create_~last~0.base) 1)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L565-1 {16944#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:59:02,876 INFO L281 TraceCheckUtils]: 10: Hoare triple {16944#(= (select |#valid| dll_circular_create_~last~0.base) 1)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); srcloc: L568 {16944#(= (select |#valid| dll_circular_create_~last~0.base) 1)} is VALID [2021-09-13 23:59:02,877 INFO L281 TraceCheckUtils]: 11: Hoare triple {16944#(= (select |#valid| dll_circular_create_~last~0.base) 1)} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {16957#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:59:02,877 INFO L281 TraceCheckUtils]: 12: Hoare triple {16957#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= (select |#valid| dll_circular_create_~last~0.base) 1))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {16961#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:59:02,878 INFO L281 TraceCheckUtils]: 13: Hoare triple {16961#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {16961#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:59:02,878 INFO L281 TraceCheckUtils]: 14: Hoare triple {16961#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {16961#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:59:02,879 INFO L281 TraceCheckUtils]: 15: Hoare triple {16961#(and (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base) (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {16912#(and (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:59:02,879 INFO L281 TraceCheckUtils]: 16: Hoare triple {16912#(and (= (select |#valid| dll_circular_create_~last~0.base) 1) (= 1 (select |#valid| dll_circular_create_~new_head~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {16913#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (= (select |#valid| dll_circular_create_~last~0.base) 1))} is VALID [2021-09-13 23:59:02,880 INFO L281 TraceCheckUtils]: 17: Hoare triple {16913#(and (= (select |#valid| dll_circular_create_~head~0.base) 1) (= (select |#valid| dll_circular_create_~last~0.base) 1))} assume !!(~len > 1);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {16914#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:59:02,880 INFO L281 TraceCheckUtils]: 18: Hoare triple {16914#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {16914#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} is VALID [2021-09-13 23:59:02,881 INFO L281 TraceCheckUtils]: 19: Hoare triple {16914#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L573-1 {16915#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~head~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} is VALID [2021-09-13 23:59:02,882 INFO L281 TraceCheckUtils]: 20: Hoare triple {16915#(and (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset 0) (= dll_circular_create_~head~0.base (select (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L576 {16986#(and (exists ((dll_circular_create_~head~0.offset Int)) (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (+ dll_circular_create_~head~0.offset 4)))) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))))} is VALID [2021-09-13 23:59:02,883 INFO L281 TraceCheckUtils]: 21: Hoare triple {16986#(and (exists ((dll_circular_create_~head~0.offset Int)) (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (+ dll_circular_create_~head~0.offset 4)))) (not (= dll_circular_create_~new_head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~new_head~0.offset 0) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := #t~post4 - 1;havoc #t~post4; {16990#(and (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (exists ((v_dll_circular_create_~head~0.offset_109 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_109 4)))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:59:02,883 INFO L281 TraceCheckUtils]: 22: Hoare triple {16990#(and (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (exists ((v_dll_circular_create_~head~0.offset_109 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_109 4)))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} assume !(~len > 1); {16990#(and (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (exists ((v_dll_circular_create_~head~0.offset_109 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_109 4)))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} is VALID [2021-09-13 23:59:02,885 INFO L281 TraceCheckUtils]: 23: Hoare triple {16990#(and (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (exists ((v_dll_circular_create_~head~0.offset_109 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_109 4)))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4); srcloc: L571-3 {16997#(and (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (exists ((v_dll_circular_create_~head~0.offset_109 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_109 4)))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (exists ((dll_circular_create_~last~0.offset Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset))))} is VALID [2021-09-13 23:59:02,887 INFO L281 TraceCheckUtils]: 24: Hoare triple {16997#(and (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (exists ((v_dll_circular_create_~head~0.offset_109 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_109 4)))) (not (= dll_circular_create_~head~0.base dll_circular_create_~last~0.base)) (= dll_circular_create_~head~0.offset 0) (exists ((dll_circular_create_~last~0.offset Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, 4 + ~head~0.offset, 4); srcloc: L581 {17001#(and (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (exists ((v_dll_circular_create_~head~0.offset_109 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_109 4)))) (exists ((dll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4)) dll_circular_create_~last~0.offset) dll_circular_create_~head~0.base)) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:59:02,888 INFO L281 TraceCheckUtils]: 25: Hoare triple {17001#(and (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0))) (exists ((v_dll_circular_create_~head~0.offset_109 Int)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 0)) (+ v_dll_circular_create_~head~0.offset_109 4)))) (exists ((dll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4)) dll_circular_create_~last~0.offset) dll_circular_create_~head~0.base)) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) 4) dll_circular_create_~head~0.base)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {17005#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0))) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4)) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_109 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0)) (+ v_dll_circular_create_~head~0.offset_109 4)) |dll_circular_create_#res.base|)))} is VALID [2021-09-13 23:59:02,888 INFO L281 TraceCheckUtils]: 26: Hoare triple {17005#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0))) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4)) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_109 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0)) (+ v_dll_circular_create_~head~0.offset_109 4)) |dll_circular_create_#res.base|)))} assume true; {17005#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0))) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4)) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_109 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0)) (+ v_dll_circular_create_~head~0.offset_109 4)) |dll_circular_create_#res.base|)))} is VALID [2021-09-13 23:59:02,890 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {17005#(and (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0))) (not (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= |dll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 4)) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_109 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) 0)) (+ v_dll_circular_create_~head~0.offset_109 4)) |dll_circular_create_#res.base|)))} {16871#true} #197#return; {17012#(and (exists ((v_dll_circular_create_~head~0.offset_109 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0)) (+ v_dll_circular_create_~head~0.offset_109 4)) |main_#t~ret12.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0) |main_#t~ret12.base|)) (exists ((dll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4)) dll_circular_create_~last~0.offset) |main_#t~ret12.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|)))} is VALID [2021-09-13 23:59:02,890 INFO L281 TraceCheckUtils]: 28: Hoare triple {17012#(and (exists ((v_dll_circular_create_~head~0.offset_109 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0)) (+ v_dll_circular_create_~head~0.offset_109 4)) |main_#t~ret12.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 0) |main_#t~ret12.base|)) (exists ((dll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4)) dll_circular_create_~last~0.offset) |main_#t~ret12.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) 4) |main_#t~ret12.base|)))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {17016#(and (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) 0) main_~head~1.base)) (exists ((dll_circular_create_~last~0.offset Int)) (= main_~head~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)) dll_circular_create_~last~0.offset))) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))) (exists ((v_dll_circular_create_~head~0.offset_109 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) 0)) (+ v_dll_circular_create_~head~0.offset_109 4)) main_~head~1.base)))} is VALID [2021-09-13 23:59:02,891 INFO L264 TraceCheckUtils]: 29: Hoare triple {17016#(and (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) 0) main_~head~1.base)) (exists ((dll_circular_create_~last~0.offset Int)) (= main_~head~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) 4)) dll_circular_create_~last~0.offset))) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) 4))) (exists ((v_dll_circular_create_~head~0.offset_109 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) 0)) (+ v_dll_circular_create_~head~0.offset_109 4)) main_~head~1.base)))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {17020#(and (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0))) (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_109 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0)) (+ v_dll_circular_create_~head~0.offset_109 4)) |_destroy_in_nondeterministic_order_#in~head.base|)))} is VALID [2021-09-13 23:59:02,892 INFO L281 TraceCheckUtils]: 30: Hoare triple {17020#(and (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0))) (not (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4))) (exists ((dll_circular_create_~last~0.offset Int)) (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 4)) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_109 Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) 0)) (+ v_dll_circular_create_~head~0.offset_109 4)) |_destroy_in_nondeterministic_order_#in~head.base|)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {17024#(and (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_109 Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_109 4)))) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} is VALID [2021-09-13 23:59:02,893 INFO L281 TraceCheckUtils]: 31: Hoare triple {17024#(and (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_109 Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_109 4)))) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, 4 + ~head.offset, 4); srcloc: L586 {17028#(and (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)) |_destroy_in_nondeterministic_order_#t~mem5.base|) (exists ((v_dll_circular_create_~head~0.offset_109 Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_109 4)))) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} is VALID [2021-09-13 23:59:02,893 INFO L281 TraceCheckUtils]: 32: Hoare triple {17028#(and (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)) |_destroy_in_nondeterministic_order_#t~mem5.base|) (exists ((v_dll_circular_create_~head~0.offset_109 Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_109 4)))) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {17032#(and (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)) _destroy_in_nondeterministic_order_~pred~0.base) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_109 Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_109 4)))) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} is VALID [2021-09-13 23:59:02,894 INFO L281 TraceCheckUtils]: 33: Hoare triple {17032#(and (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)) _destroy_in_nondeterministic_order_~pred~0.base) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0))) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (exists ((dll_circular_create_~last~0.offset Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4)) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_109 Int)) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 0)) (+ v_dll_circular_create_~head~0.offset_109 4)))) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) 4))))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4); srcloc: L587 {17036#(and (or (and (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))) (and (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base |_destroy_in_nondeterministic_order_#t~mem6.base|))))) (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base |_destroy_in_nondeterministic_order_#t~mem6.base|))))} is VALID [2021-09-13 23:59:02,895 INFO L281 TraceCheckUtils]: 34: Hoare triple {17036#(and (or (and (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))) (and (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base |_destroy_in_nondeterministic_order_#t~mem6.base|))))) (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base |_destroy_in_nondeterministic_order_#t~mem6.base|))))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647; {17040#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (and (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))) (and (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))} is VALID [2021-09-13 23:59:02,895 INFO L281 TraceCheckUtils]: 35: Hoare triple {17040#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (and (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))) (and (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))} assume !(0 != #t~nondet7);havoc #t~nondet7;assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {17040#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (and (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))) (and (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))} is VALID [2021-09-13 23:59:02,896 INFO L281 TraceCheckUtils]: 36: Hoare triple {17040#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (and (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))) (and (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))} assume 0 != #t~nondet9;havoc #t~nondet9; {17040#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (and (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))) (and (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))} is VALID [2021-09-13 23:59:02,896 INFO L281 TraceCheckUtils]: 37: Hoare triple {17040#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (and (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))) (and (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))} assume 0 == ~succ~0.offset; {17040#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (and (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))) (and (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))} is VALID [2021-09-13 23:59:02,897 INFO L281 TraceCheckUtils]: 38: Hoare triple {17040#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (and (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))) (and (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))} assume ~succ~0.base < #StackHeapBarrier; {17040#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (and (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))) (and (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))} is VALID [2021-09-13 23:59:02,898 INFO L281 TraceCheckUtils]: 39: Hoare triple {17040#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (or (and (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))) (and (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))} assume 0 == ~succ~0.base || 1 == #valid[~succ~0.base];call ULTIMATE.dealloc(~succ~0.base, ~succ~0.offset);assume -2147483648 <= #t~nondet10 && #t~nondet10 <= 2147483647; {17056#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((_destroy_in_nondeterministic_order_~succ~0.base Int)) (and (or (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0) (or (and (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))) (and (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))))} is VALID [2021-09-13 23:59:02,899 INFO L281 TraceCheckUtils]: 40: Hoare triple {17056#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((_destroy_in_nondeterministic_order_~succ~0.base Int)) (and (or (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0) (or (and (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))) (and (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))))} assume !(0 != #t~nondet10);havoc #t~nondet10; {17056#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((_destroy_in_nondeterministic_order_~succ~0.base Int)) (and (or (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0) (or (and (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))) (and (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))))} is VALID [2021-09-13 23:59:02,899 INFO L281 TraceCheckUtils]: 41: Hoare triple {17056#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((_destroy_in_nondeterministic_order_~succ~0.base Int)) (and (or (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0) (or (and (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))) (and (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))))} assume 0 == ~pred~0.offset; {17056#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((_destroy_in_nondeterministic_order_~succ~0.base Int)) (and (or (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0) (or (and (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))) (and (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))))} is VALID [2021-09-13 23:59:02,900 INFO L281 TraceCheckUtils]: 42: Hoare triple {17056#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((_destroy_in_nondeterministic_order_~succ~0.base Int)) (and (or (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0) (or (and (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))) (and (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))))} assume ~pred~0.base < #StackHeapBarrier; {17056#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((_destroy_in_nondeterministic_order_~succ~0.base Int)) (and (or (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0) (or (and (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))) (and (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))))} is VALID [2021-09-13 23:59:02,901 INFO L281 TraceCheckUtils]: 43: Hoare triple {17056#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((_destroy_in_nondeterministic_order_~succ~0.base Int)) (and (or (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0) (or (and (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))) (and (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))))} assume 0 == ~pred~0.base || 1 == #valid[~pred~0.base];call ULTIMATE.dealloc(~pred~0.base, ~pred~0.offset); {17069#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((_destroy_in_nondeterministic_order_~succ~0.base Int) (_destroy_in_nondeterministic_order_~pred~0.base Int)) (and (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0) (or (and (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))) (and (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))) (or (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base) (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 0) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))))} is VALID [2021-09-13 23:59:02,902 INFO L281 TraceCheckUtils]: 44: Hoare triple {17069#(and (<= 0 _destroy_in_nondeterministic_order_~head.offset) (exists ((_destroy_in_nondeterministic_order_~succ~0.base Int) (_destroy_in_nondeterministic_order_~pred~0.base Int)) (and (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0) (or (and (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base))) (and (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (or (not (= _destroy_in_nondeterministic_order_~head.offset 4)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))) (or (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base) (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~pred~0.base)) (= (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base) 0) (or (not (= _destroy_in_nondeterministic_order_~head.offset 0)) (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base))))))} assume 0 == ~head.offset; {17073#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (exists ((_destroy_in_nondeterministic_order_~succ~0.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0)))} is VALID [2021-09-13 23:59:02,902 INFO L281 TraceCheckUtils]: 45: Hoare triple {17073#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (exists ((_destroy_in_nondeterministic_order_~succ~0.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0)))} assume ~head.base < #StackHeapBarrier; {17073#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (exists ((_destroy_in_nondeterministic_order_~succ~0.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0)))} is VALID [2021-09-13 23:59:02,903 INFO L281 TraceCheckUtils]: 46: Hoare triple {17073#(and (= (select |#valid| _destroy_in_nondeterministic_order_~head.base) 1) (exists ((_destroy_in_nondeterministic_order_~succ~0.base Int)) (= (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base) 0)))} assume !(0 == ~head.base || 1 == #valid[~head.base]); {16872#false} is VALID [2021-09-13 23:59:02,903 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:59:02,903 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 23:59:03,373 INFO L388 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 37 treesize of output 33 [2021-09-13 23:59:05,209 WARN L838 $PredicateComparison]: unable to prove that (forall ((_destroy_in_nondeterministic_order_~head.offset Int)) (or (let ((.cse0 (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base) (+ c_dll_circular_create_~head~0.offset 4) c_dll_circular_create_~last~0.base))) (and (not (= c_dll_circular_create_~head~0.base (select .cse0 _destroy_in_nondeterministic_order_~head.offset))) (not (= c_dll_circular_create_~head~0.base (select .cse0 (+ _destroy_in_nondeterministic_order_~head.offset 4)))))) (< 0 _destroy_in_nondeterministic_order_~head.offset) (< _destroy_in_nondeterministic_order_~head.offset 0))) is different from false [2021-09-13 23:59:05,974 WARN L838 $PredicateComparison]: unable to prove that (forall ((_destroy_in_nondeterministic_order_~head.offset Int)) (or (and (forall ((dll_circular_create_~last~0.offset Int)) (not (= c_dll_circular_create_~head~0.base (select (store (select (store |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~head~0.base)) c_dll_circular_create_~head~0.base) (+ c_dll_circular_create_~head~0.offset 4) c_dll_circular_create_~last~0.base) (+ _destroy_in_nondeterministic_order_~head.offset 4))))) (forall ((dll_circular_create_~last~0.offset Int)) (not (= c_dll_circular_create_~head~0.base (select (store (select (store |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~head~0.base)) c_dll_circular_create_~head~0.base) (+ c_dll_circular_create_~head~0.offset 4) c_dll_circular_create_~last~0.base) _destroy_in_nondeterministic_order_~head.offset))))) (< 0 _destroy_in_nondeterministic_order_~head.offset) (< _destroy_in_nondeterministic_order_~head.offset 0))) is different from false [2021-09-13 23:59:06,973 WARN L838 $PredicateComparison]: unable to prove that (forall ((_destroy_in_nondeterministic_order_~head.offset Int)) (or (and (forall ((dll_circular_create_~last~0.offset Int)) (not (= c_dll_circular_create_~new_head~0.base (select (store (select (store |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.base)) c_dll_circular_create_~new_head~0.base) (+ c_dll_circular_create_~new_head~0.offset 4) c_dll_circular_create_~last~0.base) (+ _destroy_in_nondeterministic_order_~head.offset 4))))) (forall ((dll_circular_create_~last~0.offset Int)) (not (= c_dll_circular_create_~new_head~0.base (select (store (select (store |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.base)) c_dll_circular_create_~new_head~0.base) (+ c_dll_circular_create_~new_head~0.offset 4) c_dll_circular_create_~last~0.base) _destroy_in_nondeterministic_order_~head.offset))))) (< 0 _destroy_in_nondeterministic_order_~head.offset) (< _destroy_in_nondeterministic_order_~head.offset 0))) is different from false [2021-09-13 23:59:09,235 WARN L838 $PredicateComparison]: unable to prove that (forall ((_destroy_in_nondeterministic_order_~head.offset Int)) (or (< 0 _destroy_in_nondeterministic_order_~head.offset) (and (forall ((dll_circular_create_~last~0.offset Int) (dll_circular_create_~head~0.offset Int)) (not (= c_dll_circular_create_~new_head~0.base (select (store (select (let ((.cse0 (store |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) c_dll_circular_create_~new_head~0.base)))) (store .cse0 c_dll_circular_create_~last~0.base (store (select .cse0 c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.base))) c_dll_circular_create_~new_head~0.base) (+ c_dll_circular_create_~new_head~0.offset 4) c_dll_circular_create_~last~0.base) _destroy_in_nondeterministic_order_~head.offset)))) (forall ((dll_circular_create_~last~0.offset Int) (dll_circular_create_~head~0.offset Int)) (not (= c_dll_circular_create_~new_head~0.base (select (store (select (let ((.cse1 (store |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base) (+ dll_circular_create_~head~0.offset 4) c_dll_circular_create_~new_head~0.base)))) (store .cse1 c_dll_circular_create_~last~0.base (store (select .cse1 c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.base))) c_dll_circular_create_~new_head~0.base) (+ c_dll_circular_create_~new_head~0.offset 4) c_dll_circular_create_~last~0.base) (+ _destroy_in_nondeterministic_order_~head.offset 4)))))) (< _destroy_in_nondeterministic_order_~head.offset 0))) is different from false [2021-09-13 23:59:09,405 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_DEPENDING: Alternating quantifiers not yet supported [2021-09-13 23:59:09,405 INFO L186 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2021-09-13 23:59:09,405 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [24] total 24 [2021-09-13 23:59:09,405 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [629675765] [2021-09-13 23:59:09,406 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 23 states have (on average 1.7826086956521738) internal successors, (41), 21 states have internal predecessors, (41), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 47 [2021-09-13 23:59:09,406 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:59:09,415 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 25 states, 23 states have (on average 1.7826086956521738) internal successors, (41), 21 states have internal predecessors, (41), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:59:09,470 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:59:09,470 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2021-09-13 23:59:09,471 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-09-13 23:59:09,471 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2021-09-13 23:59:09,471 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=207, Invalid=2885, Unknown=4, NotChecked=444, Total=3540 [2021-09-13 23:59:09,471 INFO L87 Difference]: Start difference. First operand 88 states and 93 transitions. Second operand has 25 states, 23 states have (on average 1.7826086956521738) internal successors, (41), 21 states have internal predecessors, (41), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:59:12,524 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:12,525 INFO L93 Difference]: Finished difference Result 91 states and 96 transitions. [2021-09-13 23:59:12,525 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2021-09-13 23:59:12,525 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 23 states have (on average 1.7826086956521738) internal successors, (41), 21 states have internal predecessors, (41), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 47 [2021-09-13 23:59:12,525 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:59:12,525 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 23 states have (on average 1.7826086956521738) internal successors, (41), 21 states have internal predecessors, (41), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:59:12,526 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 97 transitions. [2021-09-13 23:59:12,526 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 23 states have (on average 1.7826086956521738) internal successors, (41), 21 states have internal predecessors, (41), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:59:12,527 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 97 transitions. [2021-09-13 23:59:12,527 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states and 97 transitions. [2021-09-13 23:59:12,621 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:59:12,622 INFO L225 Difference]: With dead ends: 91 [2021-09-13 23:59:12,622 INFO L226 Difference]: Without dead ends: 91 [2021-09-13 23:59:12,622 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 42 SyntacticMatches, 3 SemanticMatches, 76 ConstructedPredicates, 4 IntricatePredicates, 0 DeprecatedPredicates, 968 ImplicationChecksByTransitivity, 6398.06ms TimeCoverageRelationStatistics Valid=432, Invalid=4982, Unknown=4, NotChecked=588, Total=6006 [2021-09-13 23:59:12,623 INFO L928 BasicCegarLoop]: 6 mSDtfsCounter, 213 mSDsluCounter, 486 mSDsCounter, 0 mSdLazyCounter, 1428 mSolverCounterSat, 69 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1134.19ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 214 SdHoareTripleChecker+Valid, 64 SdHoareTripleChecker+Invalid, 1497 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 3.26ms SdHoareTripleChecker+Time, 69 IncrementalHoareTripleChecker+Valid, 1428 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1142.92ms IncrementalHoareTripleChecker+Time [2021-09-13 23:59:12,623 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [214 Valid, 64 Invalid, 1497 Unknown, 0 Unchecked, 3.26ms Time], IncrementalHoareTripleChecker [69 Valid, 1428 Invalid, 0 Unknown, 0 Unchecked, 1142.92ms Time] [2021-09-13 23:59:12,623 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2021-09-13 23:59:12,624 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 87. [2021-09-13 23:59:12,624 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:59:12,624 INFO L82 GeneralOperation]: Start isEquivalent. First operand 91 states. Second operand has 87 states, 79 states have (on average 1.0759493670886076) internal successors, (85), 79 states have internal predecessors, (85), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:12,624 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand has 87 states, 79 states have (on average 1.0759493670886076) internal successors, (85), 79 states have internal predecessors, (85), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:12,625 INFO L87 Difference]: Start difference. First operand 91 states. Second operand has 87 states, 79 states have (on average 1.0759493670886076) internal successors, (85), 79 states have internal predecessors, (85), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:12,625 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:12,625 INFO L93 Difference]: Finished difference Result 91 states and 96 transitions. [2021-09-13 23:59:12,625 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 96 transitions. [2021-09-13 23:59:12,626 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:59:12,626 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:59:12,626 INFO L74 IsIncluded]: Start isIncluded. First operand has 87 states, 79 states have (on average 1.0759493670886076) internal successors, (85), 79 states have internal predecessors, (85), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 91 states. [2021-09-13 23:59:12,626 INFO L87 Difference]: Start difference. First operand has 87 states, 79 states have (on average 1.0759493670886076) internal successors, (85), 79 states have internal predecessors, (85), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 91 states. [2021-09-13 23:59:12,627 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:12,627 INFO L93 Difference]: Finished difference Result 91 states and 96 transitions. [2021-09-13 23:59:12,627 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 96 transitions. [2021-09-13 23:59:12,627 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:59:12,627 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:59:12,627 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:59:12,627 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:59:12,627 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 87 states, 79 states have (on average 1.0759493670886076) internal successors, (85), 79 states have internal predecessors, (85), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:12,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 92 transitions. [2021-09-13 23:59:12,628 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 92 transitions. Word has length 47 [2021-09-13 23:59:12,628 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:59:12,628 INFO L470 AbstractCegarLoop]: Abstraction has 87 states and 92 transitions. [2021-09-13 23:59:12,628 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 25 states, 23 states have (on average 1.7826086956521738) internal successors, (41), 21 states have internal predecessors, (41), 2 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:59:12,628 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 92 transitions. [2021-09-13 23:59:12,628 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2021-09-13 23:59:12,628 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:59:12,628 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 23:59:12,656 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2021-09-13 23:59:12,829 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable27,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-13 23:59:12,829 INFO L402 AbstractCegarLoop]: === Iteration 29 === Targeting mainErr0ENSURES_VIOLATIONMEMORY_LEAK === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:59:12,830 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:59:12,830 INFO L82 PathProgramCache]: Analyzing trace with hash 1824516203, now seen corresponding path program 1 times [2021-09-13 23:59:12,830 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-09-13 23:59:12,830 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2018228408] [2021-09-13 23:59:12,830 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:59:12,830 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-09-13 23:59:12,842 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2021-09-13 23:59:12,842 INFO L354 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2021-09-13 23:59:12,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2021-09-13 23:59:12,867 INFO L133 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2021-09-13 23:59:12,868 INFO L627 BasicCegarLoop]: Counterexample is feasible [2021-09-13 23:59:12,868 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location mainErr0ENSURES_VIOLATIONMEMORY_LEAK (58 of 59 remaining) [2021-09-13 23:59:12,869 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION (57 of 59 remaining) [2021-09-13 23:59:12,870 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION (56 of 59 remaining) [2021-09-13 23:59:12,870 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (55 of 59 remaining) [2021-09-13 23:59:12,870 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr3REQUIRES_VIOLATION (54 of 59 remaining) [2021-09-13 23:59:12,870 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr4ASSERT_VIOLATIONMEMORY_FREE (53 of 59 remaining) [2021-09-13 23:59:12,870 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr5ASSERT_VIOLATIONMEMORY_FREE (52 of 59 remaining) [2021-09-13 23:59:12,870 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr6ASSERT_VIOLATIONMEMORY_FREE (51 of 59 remaining) [2021-09-13 23:59:12,870 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr7ASSERT_VIOLATIONMEMORY_FREE (50 of 59 remaining) [2021-09-13 23:59:12,870 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr8ASSERT_VIOLATIONMEMORY_FREE (49 of 59 remaining) [2021-09-13 23:59:12,871 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr9ASSERT_VIOLATIONMEMORY_FREE (48 of 59 remaining) [2021-09-13 23:59:12,871 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr10ASSERT_VIOLATIONMEMORY_FREE (47 of 59 remaining) [2021-09-13 23:59:12,871 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr11ASSERT_VIOLATIONMEMORY_FREE (46 of 59 remaining) [2021-09-13 23:59:12,871 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr12ASSERT_VIOLATIONMEMORY_FREE (45 of 59 remaining) [2021-09-13 23:59:12,871 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr13ASSERT_VIOLATIONMEMORY_FREE (44 of 59 remaining) [2021-09-13 23:59:12,871 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr14ASSERT_VIOLATIONMEMORY_FREE (43 of 59 remaining) [2021-09-13 23:59:12,871 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr15ASSERT_VIOLATIONMEMORY_FREE (42 of 59 remaining) [2021-09-13 23:59:12,872 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr16ASSERT_VIOLATIONMEMORY_FREE (41 of 59 remaining) [2021-09-13 23:59:12,872 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr17ASSERT_VIOLATIONMEMORY_FREE (40 of 59 remaining) [2021-09-13 23:59:12,872 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr18ASSERT_VIOLATIONMEMORY_FREE (39 of 59 remaining) [2021-09-13 23:59:12,872 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr19ASSERT_VIOLATIONMEMORY_FREE (38 of 59 remaining) [2021-09-13 23:59:12,872 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr20ASSERT_VIOLATIONMEMORY_FREE (37 of 59 remaining) [2021-09-13 23:59:12,872 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr21ASSERT_VIOLATIONMEMORY_FREE (36 of 59 remaining) [2021-09-13 23:59:12,872 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr22ASSERT_VIOLATIONMEMORY_FREE (35 of 59 remaining) [2021-09-13 23:59:12,873 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr23ASSERT_VIOLATIONMEMORY_FREE (34 of 59 remaining) [2021-09-13 23:59:12,873 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr24ASSERT_VIOLATIONMEMORY_FREE (33 of 59 remaining) [2021-09-13 23:59:12,873 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr25ASSERT_VIOLATIONMEMORY_FREE (32 of 59 remaining) [2021-09-13 23:59:12,873 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr26ASSERT_VIOLATIONMEMORY_FREE (31 of 59 remaining) [2021-09-13 23:59:12,873 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr27ASSERT_VIOLATIONMEMORY_FREE (30 of 59 remaining) [2021-09-13 23:59:12,873 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr28ASSERT_VIOLATIONMEMORY_FREE (29 of 59 remaining) [2021-09-13 23:59:12,873 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr29ASSERT_VIOLATIONMEMORY_FREE (28 of 59 remaining) [2021-09-13 23:59:12,874 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr30ASSERT_VIOLATIONMEMORY_FREE (27 of 59 remaining) [2021-09-13 23:59:12,874 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr31ASSERT_VIOLATIONMEMORY_FREE (26 of 59 remaining) [2021-09-13 23:59:12,874 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr32ASSERT_VIOLATIONMEMORY_FREE (25 of 59 remaining) [2021-09-13 23:59:12,874 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr33ASSERT_VIOLATIONMEMORY_FREE (24 of 59 remaining) [2021-09-13 23:59:12,874 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr34ASSERT_VIOLATIONMEMORY_FREE (23 of 59 remaining) [2021-09-13 23:59:12,874 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr35ASSERT_VIOLATIONMEMORY_FREE (22 of 59 remaining) [2021-09-13 23:59:12,874 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr36ASSERT_VIOLATIONMEMORY_FREE (21 of 59 remaining) [2021-09-13 23:59:12,874 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr37ASSERT_VIOLATIONMEMORY_FREE (20 of 59 remaining) [2021-09-13 23:59:12,875 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr38ASSERT_VIOLATIONMEMORY_FREE (19 of 59 remaining) [2021-09-13 23:59:12,875 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr39ASSERT_VIOLATIONMEMORY_FREE (18 of 59 remaining) [2021-09-13 23:59:12,875 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr40ASSERT_VIOLATIONMEMORY_FREE (17 of 59 remaining) [2021-09-13 23:59:12,875 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr41ASSERT_VIOLATIONMEMORY_FREE (16 of 59 remaining) [2021-09-13 23:59:12,875 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr42ASSERT_VIOLATIONMEMORY_FREE (15 of 59 remaining) [2021-09-13 23:59:12,875 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr43ASSERT_VIOLATIONMEMORY_FREE (14 of 59 remaining) [2021-09-13 23:59:12,875 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr44ASSERT_VIOLATIONMEMORY_FREE (13 of 59 remaining) [2021-09-13 23:59:12,876 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr45ASSERT_VIOLATIONMEMORY_FREE (12 of 59 remaining) [2021-09-13 23:59:12,876 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location dll_circular_createErr0REQUIRES_VIOLATION (11 of 59 remaining) [2021-09-13 23:59:12,876 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location dll_circular_createErr1REQUIRES_VIOLATION (10 of 59 remaining) [2021-09-13 23:59:12,876 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location dll_circular_createErr2REQUIRES_VIOLATION (9 of 59 remaining) [2021-09-13 23:59:12,876 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location dll_circular_createErr3REQUIRES_VIOLATION (8 of 59 remaining) [2021-09-13 23:59:12,876 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location dll_circular_createErr4REQUIRES_VIOLATION (7 of 59 remaining) [2021-09-13 23:59:12,876 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location dll_circular_createErr5REQUIRES_VIOLATION (6 of 59 remaining) [2021-09-13 23:59:12,876 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location dll_circular_createErr6REQUIRES_VIOLATION (5 of 59 remaining) [2021-09-13 23:59:12,876 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location dll_circular_createErr7REQUIRES_VIOLATION (4 of 59 remaining) [2021-09-13 23:59:12,877 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location dll_circular_createErr8REQUIRES_VIOLATION (3 of 59 remaining) [2021-09-13 23:59:12,877 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location dll_circular_createErr9REQUIRES_VIOLATION (2 of 59 remaining) [2021-09-13 23:59:12,877 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location dll_circular_createErr10REQUIRES_VIOLATION (1 of 59 remaining) [2021-09-13 23:59:12,877 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location dll_circular_createErr11REQUIRES_VIOLATION (0 of 59 remaining) [2021-09-13 23:59:12,877 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable28 [2021-09-13 23:59:12,881 INFO L179 ceAbstractionStarter]: Computing trace abstraction results [2021-09-13 23:59:12,895 WARN L418 cessorBacktranslator]: Generated EnsuresSpecification ensures #valid == old(#valid); is not ensure(true) [2021-09-13 23:59:12,917 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 13.09 11:59:12 BoogieIcfgContainer [2021-09-13 23:59:12,918 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2021-09-13 23:59:12,918 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2021-09-13 23:59:12,918 INFO L271 PluginConnector]: Initializing Witness Printer... [2021-09-13 23:59:12,919 INFO L275 PluginConnector]: Witness Printer initialized [2021-09-13 23:59:12,919 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 13.09 11:55:12" (3/4) ... [2021-09-13 23:59:12,922 INFO L140 WitnessPrinter]: No result that supports witness generation found [2021-09-13 23:59:12,922 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2021-09-13 23:59:12,923 INFO L158 Benchmark]: Toolchain (without parser) took 241936.18ms. Allocated memory was 67.1MB in the beginning and 299.9MB in the end (delta: 232.8MB). Free memory was 49.8MB in the beginning and 144.9MB in the end (delta: -95.0MB). Peak memory consumption was 137.6MB. Max. memory is 16.1GB. [2021-09-13 23:59:12,923 INFO L158 Benchmark]: CDTParser took 0.17ms. Allocated memory is still 48.2MB. Free memory was 30.2MB in the beginning and 30.2MB in the end (delta: 30.3kB). There was no memory consumed. Max. memory is 16.1GB. [2021-09-13 23:59:12,924 INFO L158 Benchmark]: CACSL2BoogieTranslator took 342.21ms. Allocated memory is still 67.1MB. Free memory was 49.7MB in the beginning and 42.2MB in the end (delta: 7.5MB). Peak memory consumption was 12.6MB. Max. memory is 16.1GB. [2021-09-13 23:59:12,924 INFO L158 Benchmark]: Boogie Preprocessor took 80.22ms. Allocated memory is still 67.1MB. Free memory was 42.2MB in the beginning and 38.6MB in the end (delta: 3.6MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2021-09-13 23:59:12,924 INFO L158 Benchmark]: RCFGBuilder took 591.88ms. Allocated memory is still 67.1MB. Free memory was 38.6MB in the beginning and 46.8MB in the end (delta: -8.2MB). Peak memory consumption was 16.4MB. Max. memory is 16.1GB. [2021-09-13 23:59:12,924 INFO L158 Benchmark]: TraceAbstraction took 240913.34ms. Allocated memory was 67.1MB in the beginning and 299.9MB in the end (delta: 232.8MB). Free memory was 46.2MB in the beginning and 145.9MB in the end (delta: -99.7MB). Peak memory consumption was 132.9MB. Max. memory is 16.1GB. [2021-09-13 23:59:12,925 INFO L158 Benchmark]: Witness Printer took 3.79ms. Allocated memory is still 299.9MB. Free memory was 145.9MB in the beginning and 144.9MB in the end (delta: 1.0MB). There was no memory consumed. Max. memory is 16.1GB. [2021-09-13 23:59:12,925 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.17ms. Allocated memory is still 48.2MB. Free memory was 30.2MB in the beginning and 30.2MB in the end (delta: 30.3kB). There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 342.21ms. Allocated memory is still 67.1MB. Free memory was 49.7MB in the beginning and 42.2MB in the end (delta: 7.5MB). Peak memory consumption was 12.6MB. Max. memory is 16.1GB. * Boogie Preprocessor took 80.22ms. Allocated memory is still 67.1MB. Free memory was 42.2MB in the beginning and 38.6MB in the end (delta: 3.6MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * RCFGBuilder took 591.88ms. Allocated memory is still 67.1MB. Free memory was 38.6MB in the beginning and 46.8MB in the end (delta: -8.2MB). Peak memory consumption was 16.4MB. Max. memory is 16.1GB. * TraceAbstraction took 240913.34ms. Allocated memory was 67.1MB in the beginning and 299.9MB in the end (delta: 232.8MB). Free memory was 46.2MB in the beginning and 145.9MB in the end (delta: -99.7MB). Peak memory consumption was 132.9MB. Max. memory is 16.1GB. * Witness Printer took 3.79ms. Allocated memory is still 299.9MB. Free memory was 145.9MB in the beginning and 144.9MB in the end (delta: 1.0MB). There was no memory consumed. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.boogie.preprocessor: - GenericResult: Unfinished Backtranslation Generated EnsuresSpecification ensures #valid == old(#valid); is not ensure(true) * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.00ms ErrorAutomatonConstructionTimeTotal, 0.00ms FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.00ms ErrorAutomatonConstructionTimeAvg, 0.00ms ErrorAutomatonDifferenceTimeAvg, 0.00ms ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - UnprovableResult [Line: 616]: Unable to prove that all allocated memory was freed Unable to prove that all allocated memory was freed Reason: overapproximation of memtrack at line 616. Possible FailurePath: [L617] const int len = 3; VAL [len=3] [L618] CALL, EXPR dll_circular_create(len) VAL [\old(len)=3] [L564] DLL last = (DLL) malloc(sizeof(struct node)); [L565] COND FALSE !(((void *)0) == last) VAL [\old(len)=3, last={2:0}, len=3] [L568] last->next = last VAL [\old(len)=3, last={2:0}, len=3] [L569] last->prev = last VAL [\old(len)=3, last={2:0}, len=3] [L570] DLL head = last; VAL [\old(len)=3, head={2:0}, last={2:0}, len=3] [L571] COND TRUE len > 1 [L572] DLL new_head = (DLL) malloc(sizeof(struct node)); [L573] COND FALSE !(((void *)0) == new_head) VAL [\old(len)=3, head={2:0}, last={2:0}, len=3, new_head={-2:0}] [L576] new_head->next = head VAL [\old(len)=3, head={2:0}, last={2:0}, len=3, new_head={-2:0}] [L577] head->prev = new_head VAL [\old(len)=3, head={2:0}, last={2:0}, len=3, new_head={-2:0}] [L578] head = new_head [L579] len-- VAL [\old(len)=3, head={-2:0}, last={2:0}, len=2, new_head={-2:0}] [L571] COND TRUE len > 1 [L572] DLL new_head = (DLL) malloc(sizeof(struct node)); [L573] COND FALSE !(((void *)0) == new_head) VAL [\old(len)=3, head={-2:0}, last={2:0}, len=2, new_head={-1:0}] [L576] new_head->next = head VAL [\old(len)=3, head={-2:0}, last={2:0}, len=2, new_head={-1:0}] [L577] head->prev = new_head VAL [\old(len)=3, head={-2:0}, last={2:0}, len=2, new_head={-1:0}] [L578] head = new_head [L579] len-- VAL [\old(len)=3, head={-1:0}, last={2:0}, len=1, new_head={-1:0}] [L571] COND FALSE !(len > 1) VAL [\old(len)=3, head={-1:0}, last={2:0}, len=1, new_head={-1:0}] [L581] last->next = head VAL [\old(len)=3, head={-1:0}, last={2:0}, len=1, new_head={-1:0}] [L582] head->prev = last VAL [\old(len)=3, head={-1:0}, last={2:0}, len=1, new_head={-1:0}] [L583] return head; VAL [\old(len)=3, \result={-1:0}, head={-1:0}, last={2:0}, len=1, new_head={-1:0}] [L618] RET, EXPR dll_circular_create(len) VAL [dll_circular_create(len)={-1:0}, len=3] [L618] DLL head = dll_circular_create(len); [L619] CALL _destroy_in_nondeterministic_order(head) VAL [head={-1:0}] [L586] EXPR head->prev VAL [head={-1:0}, head={-1:0}, head->prev={2:0}] [L586] DLL pred = head->prev; [L587] EXPR head->next VAL [head={-1:0}, head={-1:0}, head->next={-2:0}, pred={2:0}] [L587] DLL succ = head->next; [L588] COND FALSE !(__VERIFIER_nondet_int()) [L597] COND FALSE !(__VERIFIER_nondet_int()) [L607] free(pred) VAL [head={-1:0}, head={-1:0}, pred={2:0}, succ={-2:0}] [L607] free(pred) VAL [head={-1:0}, head={-1:0}, pred={2:0}, succ={-2:0}] [L607] free(pred) [L608] COND FALSE !(__VERIFIER_nondet_int()) [L612] free(head) VAL [head={-1:0}, head={-1:0}, pred={2:0}, succ={-2:0}] [L612] free(head) VAL [head={-1:0}, head={-1:0}, pred={2:0}, succ={-2:0}] [L612] free(head) [L619] RET _destroy_in_nondeterministic_order(head) VAL [head={-1:0}, len=3] [L620] head = ((void *)0) [L621] return 0; VAL [\result=0, head={0:0}, len=3] - UnprovableResult [Line: 586]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: Not analyzed. - UnprovableResult [Line: 586]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: Not analyzed. - UnprovableResult [Line: 587]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: Not analyzed. - UnprovableResult [Line: 587]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: Not analyzed. - UnprovableResult [Line: 589]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 589]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 589]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 591]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 591]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 591]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 592]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 592]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 592]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 594]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 594]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 594]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 595]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 595]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 595]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 598]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 598]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 598]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 600]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 600]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 600]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 601]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 601]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 601]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 603]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 603]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 603]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 604]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 604]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 604]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 607]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 607]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 607]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 609]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 609]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 609]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 610]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 610]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 610]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 612]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 612]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 612]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 568]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: Not analyzed. - UnprovableResult [Line: 568]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: Not analyzed. - UnprovableResult [Line: 569]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: Not analyzed. - UnprovableResult [Line: 569]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: Not analyzed. - UnprovableResult [Line: 576]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: Not analyzed. - UnprovableResult [Line: 576]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: Not analyzed. - UnprovableResult [Line: 577]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: Not analyzed. - UnprovableResult [Line: 577]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: Not analyzed. - UnprovableResult [Line: 581]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: Not analyzed. - UnprovableResult [Line: 581]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: Not analyzed. - UnprovableResult [Line: 582]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: Not analyzed. - UnprovableResult [Line: 582]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: Not analyzed. - StatisticsResult: Ultimate Automizer benchmark data CFG has 8 procedures, 153 locations, 59 error locations. Started 1 CEGAR loops. OverallTime: 240822.14ms, OverallIterations: 29, TraceHistogramMax: 2, EmptinessCheckTime: 22.38ms, AutomataDifference: 68981.52ms, DeadEndRemovalTime: 0.00ms, HoareAnnotationTime: 0.00ms, InitialAbstractionConstructionTime: 9.42ms, PartialOrderReductionTime: 0.00ms, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 3785 SdHoareTripleChecker+Valid, 20363.62ms IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 3774 mSDsluCounter, 1349 SdHoareTripleChecker+Invalid, 20195.36ms Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 1023 IncrementalHoareTripleChecker+Unchecked, 12826 mSDsCounter, 721 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 30617 IncrementalHoareTripleChecker+Invalid, 32361 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 721 mSolverCounterUnsat, 192 mSDtfsCounter, 30617 mSolverCounterSat, 95.37ms SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1631 GetRequests, 736 SyntacticMatches, 24 SemanticMatches, 871 ConstructedPredicates, 21 IntricatePredicates, 0 DeprecatedPredicates, 8226 ImplicationChecksByTransitivity, 136033.62ms Time, 0.00ms BasicInterpolantAutomatonTime, BiggestAbstraction: size=146occurred in iteration=0, InterpolantAutomatonStates: 389, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.00ms DumpTime, AutomataMinimizationStatistics: 418.80ms AutomataMinimizationTime, 28 MinimizatonAttempts, 59 StatesRemovedByMinimization, 15 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 74.28ms SsaConstructionTime, 425.59ms SatisfiabilityAnalysisTime, 17834.50ms InterpolantComputationTime, 1152 NumberOfCodeBlocks, 1152 NumberOfCodeBlocksAsserted, 35 NumberOfCheckSat, 1274 ConstructedInterpolants, 43 QuantifiedInterpolants, 10678 SizeOfPredicates, 65 NumberOfNonLiveVariables, 1027 ConjunctsInSsa, 165 ConjunctsInUnsatCore, 40 InterpolantComputations, 14 PerfectInterpolantSequences, 49/198 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces [2021-09-13 23:59:13,168 WARN L435 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forcibly destroying the process [2021-09-13 23:59:13,231 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 137 Received shutdown request... ### Bit-precise run ### This is Ultimate 0.2.1-wip.dd.seqcomp-5fbdf5b [2021-09-13 23:59:14,852 INFO L177 SettingsManager]: Resetting all preferences to default values... [2021-09-13 23:59:14,855 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2021-09-13 23:59:14,895 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2021-09-13 23:59:14,895 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2021-09-13 23:59:14,898 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2021-09-13 23:59:14,899 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2021-09-13 23:59:14,903 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2021-09-13 23:59:14,904 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2021-09-13 23:59:14,908 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2021-09-13 23:59:14,909 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2021-09-13 23:59:14,912 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2021-09-13 23:59:14,912 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2021-09-13 23:59:14,914 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2021-09-13 23:59:14,915 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2021-09-13 23:59:14,919 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2021-09-13 23:59:14,919 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2021-09-13 23:59:14,920 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2021-09-13 23:59:14,922 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2021-09-13 23:59:14,926 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2021-09-13 23:59:14,927 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2021-09-13 23:59:14,928 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2021-09-13 23:59:14,929 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2021-09-13 23:59:14,930 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2021-09-13 23:59:14,938 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2021-09-13 23:59:14,939 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2021-09-13 23:59:14,939 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2021-09-13 23:59:14,940 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2021-09-13 23:59:14,941 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2021-09-13 23:59:14,942 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2021-09-13 23:59:14,942 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2021-09-13 23:59:14,942 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2021-09-13 23:59:14,944 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2021-09-13 23:59:14,944 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2021-09-13 23:59:14,945 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2021-09-13 23:59:14,945 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2021-09-13 23:59:14,946 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2021-09-13 23:59:14,946 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2021-09-13 23:59:14,946 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2021-09-13 23:59:14,948 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2021-09-13 23:59:14,948 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2021-09-13 23:59:14,949 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Bitvector.epf [2021-09-13 23:59:14,975 INFO L113 SettingsManager]: Loading preferences was successful [2021-09-13 23:59:14,975 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2021-09-13 23:59:14,976 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2021-09-13 23:59:14,976 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2021-09-13 23:59:14,978 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2021-09-13 23:59:14,978 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2021-09-13 23:59:14,978 INFO L138 SettingsManager]: * Use SBE=true [2021-09-13 23:59:14,978 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2021-09-13 23:59:14,978 INFO L138 SettingsManager]: * sizeof long=4 [2021-09-13 23:59:14,979 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2021-09-13 23:59:14,979 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2021-09-13 23:59:14,979 INFO L138 SettingsManager]: * sizeof POINTER=4 [2021-09-13 23:59:14,980 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2021-09-13 23:59:14,980 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2021-09-13 23:59:14,980 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2021-09-13 23:59:14,980 INFO L138 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2021-09-13 23:59:14,980 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2021-09-13 23:59:14,980 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2021-09-13 23:59:14,980 INFO L138 SettingsManager]: * Use bitvectors instead of ints=true [2021-09-13 23:59:14,981 INFO L138 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2021-09-13 23:59:14,981 INFO L138 SettingsManager]: * sizeof long double=12 [2021-09-13 23:59:14,981 INFO L138 SettingsManager]: * Use constant arrays=true [2021-09-13 23:59:14,981 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2021-09-13 23:59:14,981 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2021-09-13 23:59:14,981 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2021-09-13 23:59:14,982 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2021-09-13 23:59:14,982 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2021-09-13 23:59:14,982 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2021-09-13 23:59:14,982 INFO L138 SettingsManager]: * Trace refinement strategy=WOLF [2021-09-13 23:59:14,982 INFO L138 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2021-09-13 23:59:14,982 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2021-09-13 23:59:14,983 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2021-09-13 23:59:14,983 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 -> 760c75961baa7cc196b373809e9a87dd0bcf8eb7 [2021-09-13 23:59:15,269 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2021-09-13 23:59:15,296 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2021-09-13 23:59:15,298 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2021-09-13 23:59:15,298 INFO L271 PluginConnector]: Initializing CDTParser... [2021-09-13 23:59:15,299 INFO L275 PluginConnector]: CDTParser initialized [2021-09-13 23:59:15,300 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/list-ext3-properties/dll_nondet_free_order-2.i [2021-09-13 23:59:15,360 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1de8565fb/9966cc4dfa524f14b529e1507446aaec/FLAG78aedcf82 [2021-09-13 23:59:15,800 INFO L306 CDTParser]: Found 1 translation units. [2021-09-13 23:59:15,800 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/list-ext3-properties/dll_nondet_free_order-2.i [2021-09-13 23:59:15,807 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1de8565fb/9966cc4dfa524f14b529e1507446aaec/FLAG78aedcf82 [2021-09-13 23:59:16,165 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1de8565fb/9966cc4dfa524f14b529e1507446aaec [2021-09-13 23:59:16,167 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2021-09-13 23:59:16,168 INFO L131 ToolchainWalker]: Walking toolchain with 5 elements. [2021-09-13 23:59:16,169 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2021-09-13 23:59:16,169 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2021-09-13 23:59:16,199 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2021-09-13 23:59:16,200 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 13.09 11:59:16" (1/1) ... [2021-09-13 23:59:16,201 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@76289966 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 11:59:16, skipping insertion in model container [2021-09-13 23:59:16,201 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 13.09 11:59:16" (1/1) ... [2021-09-13 23:59:16,206 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2021-09-13 23:59:16,240 INFO L178 MainTranslator]: Built tables and reachable declarations [2021-09-13 23:59:16,501 INFO L206 PostProcessor]: Analyzing one entry point: main [2021-09-13 23:59:16,509 INFO L203 MainTranslator]: Completed pre-run [2021-09-13 23:59:16,559 INFO L206 PostProcessor]: Analyzing one entry point: main [2021-09-13 23:59:16,582 INFO L208 MainTranslator]: Completed translation [2021-09-13 23:59:16,582 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 11:59:16 WrapperNode [2021-09-13 23:59:16,582 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2021-09-13 23:59:16,584 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2021-09-13 23:59:16,584 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2021-09-13 23:59:16,584 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2021-09-13 23:59:16,591 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 11:59:16" (1/1) ... [2021-09-13 23:59:16,592 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 11:59:16" (1/1) ... [2021-09-13 23:59:16,619 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 11:59:16" (1/1) ... [2021-09-13 23:59:16,620 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 11:59:16" (1/1) ... [2021-09-13 23:59:16,655 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 11:59:16" (1/1) ... [2021-09-13 23:59:16,662 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 11:59:16" (1/1) ... [2021-09-13 23:59:16,672 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 11:59:16" (1/1) ... [2021-09-13 23:59:16,677 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2021-09-13 23:59:16,681 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2021-09-13 23:59:16,682 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2021-09-13 23:59:16,682 INFO L275 PluginConnector]: RCFGBuilder initialized [2021-09-13 23:59:16,682 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 11:59:16" (1/1) ... [2021-09-13 23:59:16,687 INFO L170 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2021-09-13 23:59:16,694 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-09-13 23:59:16,703 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) [2021-09-13 23:59:16,738 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 [2021-09-13 23:59:16,750 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2021-09-13 23:59:16,751 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2021-09-13 23:59:16,751 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.setCurrentRoundingMode [2021-09-13 23:59:16,751 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_32 [2021-09-13 23:59:16,752 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_64 [2021-09-13 23:59:16,752 INFO L138 BoogieDeclarations]: Found implementation of procedure myexit [2021-09-13 23:59:16,752 INFO L138 BoogieDeclarations]: Found implementation of procedure dll_circular_create [2021-09-13 23:59:16,752 INFO L138 BoogieDeclarations]: Found implementation of procedure _destroy_in_nondeterministic_order [2021-09-13 23:59:16,753 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2021-09-13 23:59:16,753 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2021-09-13 23:59:16,753 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_32 [2021-09-13 23:59:16,753 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_64 [2021-09-13 23:59:16,753 INFO L130 BoogieDeclarations]: Found specification of procedure __ctype_get_mb_cur_max [2021-09-13 23:59:16,753 INFO L130 BoogieDeclarations]: Found specification of procedure atof [2021-09-13 23:59:16,754 INFO L130 BoogieDeclarations]: Found specification of procedure atoi [2021-09-13 23:59:16,754 INFO L130 BoogieDeclarations]: Found specification of procedure atol [2021-09-13 23:59:16,754 INFO L130 BoogieDeclarations]: Found specification of procedure atoll [2021-09-13 23:59:16,754 INFO L130 BoogieDeclarations]: Found specification of procedure strtod [2021-09-13 23:59:16,754 INFO L130 BoogieDeclarations]: Found specification of procedure strtof [2021-09-13 23:59:16,754 INFO L130 BoogieDeclarations]: Found specification of procedure strtold [2021-09-13 23:59:16,754 INFO L130 BoogieDeclarations]: Found specification of procedure strtol [2021-09-13 23:59:16,754 INFO L130 BoogieDeclarations]: Found specification of procedure strtoul [2021-09-13 23:59:16,755 INFO L130 BoogieDeclarations]: Found specification of procedure strtoq [2021-09-13 23:59:16,755 INFO L130 BoogieDeclarations]: Found specification of procedure strtouq [2021-09-13 23:59:16,755 INFO L130 BoogieDeclarations]: Found specification of procedure strtoll [2021-09-13 23:59:16,755 INFO L130 BoogieDeclarations]: Found specification of procedure strtoull [2021-09-13 23:59:16,755 INFO L130 BoogieDeclarations]: Found specification of procedure l64a [2021-09-13 23:59:16,755 INFO L130 BoogieDeclarations]: Found specification of procedure a64l [2021-09-13 23:59:16,755 INFO L130 BoogieDeclarations]: Found specification of procedure select [2021-09-13 23:59:16,755 INFO L130 BoogieDeclarations]: Found specification of procedure pselect [2021-09-13 23:59:16,755 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_major [2021-09-13 23:59:16,756 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_minor [2021-09-13 23:59:16,756 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_makedev [2021-09-13 23:59:16,756 INFO L130 BoogieDeclarations]: Found specification of procedure random [2021-09-13 23:59:16,756 INFO L130 BoogieDeclarations]: Found specification of procedure srandom [2021-09-13 23:59:16,756 INFO L130 BoogieDeclarations]: Found specification of procedure initstate [2021-09-13 23:59:16,756 INFO L130 BoogieDeclarations]: Found specification of procedure setstate [2021-09-13 23:59:16,756 INFO L130 BoogieDeclarations]: Found specification of procedure random_r [2021-09-13 23:59:16,756 INFO L130 BoogieDeclarations]: Found specification of procedure srandom_r [2021-09-13 23:59:16,757 INFO L130 BoogieDeclarations]: Found specification of procedure initstate_r [2021-09-13 23:59:16,757 INFO L130 BoogieDeclarations]: Found specification of procedure setstate_r [2021-09-13 23:59:16,757 INFO L130 BoogieDeclarations]: Found specification of procedure rand [2021-09-13 23:59:16,757 INFO L130 BoogieDeclarations]: Found specification of procedure srand [2021-09-13 23:59:16,757 INFO L130 BoogieDeclarations]: Found specification of procedure rand_r [2021-09-13 23:59:16,757 INFO L130 BoogieDeclarations]: Found specification of procedure drand48 [2021-09-13 23:59:16,758 INFO L130 BoogieDeclarations]: Found specification of procedure erand48 [2021-09-13 23:59:16,758 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48 [2021-09-13 23:59:16,758 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48 [2021-09-13 23:59:16,758 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48 [2021-09-13 23:59:16,759 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48 [2021-09-13 23:59:16,759 INFO L130 BoogieDeclarations]: Found specification of procedure srand48 [2021-09-13 23:59:16,759 INFO L130 BoogieDeclarations]: Found specification of procedure seed48 [2021-09-13 23:59:16,759 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48 [2021-09-13 23:59:16,759 INFO L130 BoogieDeclarations]: Found specification of procedure drand48_r [2021-09-13 23:59:16,759 INFO L130 BoogieDeclarations]: Found specification of procedure erand48_r [2021-09-13 23:59:16,759 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48_r [2021-09-13 23:59:16,760 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48_r [2021-09-13 23:59:16,760 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48_r [2021-09-13 23:59:16,760 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48_r [2021-09-13 23:59:16,760 INFO L130 BoogieDeclarations]: Found specification of procedure srand48_r [2021-09-13 23:59:16,760 INFO L130 BoogieDeclarations]: Found specification of procedure seed48_r [2021-09-13 23:59:16,760 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48_r [2021-09-13 23:59:16,760 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2021-09-13 23:59:16,761 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2021-09-13 23:59:16,761 INFO L130 BoogieDeclarations]: Found specification of procedure realloc [2021-09-13 23:59:16,762 INFO L130 BoogieDeclarations]: Found specification of procedure free [2021-09-13 23:59:16,762 INFO L130 BoogieDeclarations]: Found specification of procedure cfree [2021-09-13 23:59:16,762 INFO L130 BoogieDeclarations]: Found specification of procedure alloca [2021-09-13 23:59:16,762 INFO L130 BoogieDeclarations]: Found specification of procedure valloc [2021-09-13 23:59:16,762 INFO L130 BoogieDeclarations]: Found specification of procedure posix_memalign [2021-09-13 23:59:16,763 INFO L130 BoogieDeclarations]: Found specification of procedure aligned_alloc [2021-09-13 23:59:16,763 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2021-09-13 23:59:16,763 INFO L130 BoogieDeclarations]: Found specification of procedure atexit [2021-09-13 23:59:16,763 INFO L130 BoogieDeclarations]: Found specification of procedure at_quick_exit [2021-09-13 23:59:16,763 INFO L130 BoogieDeclarations]: Found specification of procedure on_exit [2021-09-13 23:59:16,763 INFO L130 BoogieDeclarations]: Found specification of procedure exit [2021-09-13 23:59:16,763 INFO L130 BoogieDeclarations]: Found specification of procedure quick_exit [2021-09-13 23:59:16,763 INFO L130 BoogieDeclarations]: Found specification of procedure _Exit [2021-09-13 23:59:16,764 INFO L130 BoogieDeclarations]: Found specification of procedure getenv [2021-09-13 23:59:16,764 INFO L130 BoogieDeclarations]: Found specification of procedure putenv [2021-09-13 23:59:16,764 INFO L130 BoogieDeclarations]: Found specification of procedure setenv [2021-09-13 23:59:16,767 INFO L130 BoogieDeclarations]: Found specification of procedure unsetenv [2021-09-13 23:59:16,767 INFO L130 BoogieDeclarations]: Found specification of procedure clearenv [2021-09-13 23:59:16,767 INFO L130 BoogieDeclarations]: Found specification of procedure mktemp [2021-09-13 23:59:16,767 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemp [2021-09-13 23:59:16,768 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemps [2021-09-13 23:59:16,768 INFO L130 BoogieDeclarations]: Found specification of procedure mkdtemp [2021-09-13 23:59:16,768 INFO L130 BoogieDeclarations]: Found specification of procedure system [2021-09-13 23:59:16,768 INFO L130 BoogieDeclarations]: Found specification of procedure realpath [2021-09-13 23:59:16,768 INFO L130 BoogieDeclarations]: Found specification of procedure bsearch [2021-09-13 23:59:16,768 INFO L130 BoogieDeclarations]: Found specification of procedure qsort [2021-09-13 23:59:16,768 INFO L130 BoogieDeclarations]: Found specification of procedure abs [2021-09-13 23:59:16,769 INFO L130 BoogieDeclarations]: Found specification of procedure labs [2021-09-13 23:59:16,769 INFO L130 BoogieDeclarations]: Found specification of procedure llabs [2021-09-13 23:59:16,769 INFO L130 BoogieDeclarations]: Found specification of procedure div [2021-09-13 23:59:16,769 INFO L130 BoogieDeclarations]: Found specification of procedure ldiv [2021-09-13 23:59:16,769 INFO L130 BoogieDeclarations]: Found specification of procedure lldiv [2021-09-13 23:59:16,769 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt [2021-09-13 23:59:16,769 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt [2021-09-13 23:59:16,769 INFO L130 BoogieDeclarations]: Found specification of procedure gcvt [2021-09-13 23:59:16,769 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt [2021-09-13 23:59:16,770 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt [2021-09-13 23:59:16,770 INFO L130 BoogieDeclarations]: Found specification of procedure qgcvt [2021-09-13 23:59:16,770 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt_r [2021-09-13 23:59:16,770 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt_r [2021-09-13 23:59:16,770 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt_r [2021-09-13 23:59:16,770 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt_r [2021-09-13 23:59:16,771 INFO L130 BoogieDeclarations]: Found specification of procedure mblen [2021-09-13 23:59:16,771 INFO L130 BoogieDeclarations]: Found specification of procedure mbtowc [2021-09-13 23:59:16,771 INFO L130 BoogieDeclarations]: Found specification of procedure wctomb [2021-09-13 23:59:16,772 INFO L130 BoogieDeclarations]: Found specification of procedure mbstowcs [2021-09-13 23:59:16,772 INFO L130 BoogieDeclarations]: Found specification of procedure wcstombs [2021-09-13 23:59:16,772 INFO L130 BoogieDeclarations]: Found specification of procedure rpmatch [2021-09-13 23:59:16,772 INFO L130 BoogieDeclarations]: Found specification of procedure getsubopt [2021-09-13 23:59:16,772 INFO L130 BoogieDeclarations]: Found specification of procedure getloadavg [2021-09-13 23:59:16,772 INFO L130 BoogieDeclarations]: Found specification of procedure myexit [2021-09-13 23:59:16,772 INFO L130 BoogieDeclarations]: Found specification of procedure dll_circular_create [2021-09-13 23:59:16,772 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2021-09-13 23:59:16,772 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2021-09-13 23:59:16,773 INFO L130 BoogieDeclarations]: Found specification of procedure _destroy_in_nondeterministic_order [2021-09-13 23:59:16,773 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2021-09-13 23:59:16,773 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2021-09-13 23:59:16,773 INFO L130 BoogieDeclarations]: Found specification of procedure main [2021-09-13 23:59:16,773 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2021-09-13 23:59:16,773 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2021-09-13 23:59:16,774 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.setCurrentRoundingMode [2021-09-13 23:59:17,238 INFO L757 $ProcedureCfgBuilder]: dead code at ProgramPoint myexitFINAL: assume true; [2021-09-13 23:59:17,248 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2021-09-13 23:59:17,248 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2021-09-13 23:59:17,249 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 13.09 11:59:17 BoogieIcfgContainer [2021-09-13 23:59:17,249 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2021-09-13 23:59:17,250 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2021-09-13 23:59:17,251 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2021-09-13 23:59:17,263 INFO L275 PluginConnector]: TraceAbstraction initialized [2021-09-13 23:59:17,263 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 13.09 11:59:16" (1/3) ... [2021-09-13 23:59:17,264 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@53e1f12 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 13.09 11:59:17, skipping insertion in model container [2021-09-13 23:59:17,264 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.09 11:59:16" (2/3) ... [2021-09-13 23:59:17,264 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@53e1f12 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 13.09 11:59:17, skipping insertion in model container [2021-09-13 23:59:17,264 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 13.09 11:59:17" (3/3) ... [2021-09-13 23:59:17,265 INFO L111 eAbstractionObserver]: Analyzing ICFG dll_nondet_free_order-2.i [2021-09-13 23:59:17,268 INFO L204 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2021-09-13 23:59:17,268 INFO L163 ceAbstractionStarter]: Applying trace abstraction to program that has 59 error locations. [2021-09-13 23:59:17,291 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2021-09-13 23:59:17,295 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, mConcurrency=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 [2021-09-13 23:59:17,295 INFO L340 AbstractCegarLoop]: Starting to check reachability of 59 error locations. [2021-09-13 23:59:17,312 INFO L276 IsEmpty]: Start isEmpty. Operand has 146 states, 76 states have (on average 1.894736842105263) internal successors, (144), 136 states have internal predecessors, (144), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2021-09-13 23:59:17,316 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2021-09-13 23:59:17,316 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:59:17,316 INFO L513 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 23:59:17,316 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting dll_circular_createErr0REQUIRES_VIOLATION === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:59:17,322 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:59:17,322 INFO L82 PathProgramCache]: Analyzing trace with hash 1881586756, now seen corresponding path program 1 times [2021-09-13 23:59:17,328 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-09-13 23:59:17,329 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [705055544] [2021-09-13 23:59:17,329 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:59:17,330 INFO L170 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-09-13 23:59:17,330 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-09-13 23:59:17,331 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) [2021-09-13 23:59:17,342 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Waiting until timeout for monitored process [2021-09-13 23:59:17,444 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:59:17,446 INFO L263 TraceCheckSpWp]: Trace formula consists of 46 conjuncts, 2 conjunts are in the unsatisfiable core [2021-09-13 23:59:17,459 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:59:17,461 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 23:59:17,543 INFO L388 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 [2021-09-13 23:59:17,566 INFO L264 TraceCheckUtils]: 0: Hoare triple {149#true} call ULTIMATE.init(); {149#true} is VALID [2021-09-13 23:59:17,566 INFO L281 TraceCheckUtils]: 1: Hoare triple {149#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {149#true} is VALID [2021-09-13 23:59:17,566 INFO L281 TraceCheckUtils]: 2: Hoare triple {149#true} assume true; {149#true} is VALID [2021-09-13 23:59:17,567 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {149#true} {149#true} #223#return; {149#true} is VALID [2021-09-13 23:59:17,567 INFO L264 TraceCheckUtils]: 4: Hoare triple {149#true} call #t~ret13 := main(); {149#true} is VALID [2021-09-13 23:59:17,567 INFO L281 TraceCheckUtils]: 5: Hoare triple {149#true} ~len~0 := 3bv32; {149#true} is VALID [2021-09-13 23:59:17,567 INFO L264 TraceCheckUtils]: 6: Hoare triple {149#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {149#true} is VALID [2021-09-13 23:59:17,568 INFO L281 TraceCheckUtils]: 7: Hoare triple {149#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {175#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} is VALID [2021-09-13 23:59:17,569 INFO L281 TraceCheckUtils]: 8: Hoare triple {175#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {175#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} is VALID [2021-09-13 23:59:17,569 INFO L281 TraceCheckUtils]: 9: Hoare triple {175#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} assume !(1bv1 == #valid[~last~0.base]); {150#false} is VALID [2021-09-13 23:59:17,570 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:59:17,570 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 23:59:17,629 INFO L281 TraceCheckUtils]: 9: Hoare triple {175#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} assume !(1bv1 == #valid[~last~0.base]); {150#false} is VALID [2021-09-13 23:59:17,630 INFO L281 TraceCheckUtils]: 8: Hoare triple {175#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {175#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} is VALID [2021-09-13 23:59:17,631 INFO L281 TraceCheckUtils]: 7: Hoare triple {149#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {175#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} is VALID [2021-09-13 23:59:17,631 INFO L264 TraceCheckUtils]: 6: Hoare triple {149#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {149#true} is VALID [2021-09-13 23:59:17,631 INFO L281 TraceCheckUtils]: 5: Hoare triple {149#true} ~len~0 := 3bv32; {149#true} is VALID [2021-09-13 23:59:17,631 INFO L264 TraceCheckUtils]: 4: Hoare triple {149#true} call #t~ret13 := main(); {149#true} is VALID [2021-09-13 23:59:17,632 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {149#true} {149#true} #223#return; {149#true} is VALID [2021-09-13 23:59:17,632 INFO L281 TraceCheckUtils]: 2: Hoare triple {149#true} assume true; {149#true} is VALID [2021-09-13 23:59:17,632 INFO L281 TraceCheckUtils]: 1: Hoare triple {149#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {149#true} is VALID [2021-09-13 23:59:17,632 INFO L264 TraceCheckUtils]: 0: Hoare triple {149#true} call ULTIMATE.init(); {149#true} is VALID [2021-09-13 23:59:17,632 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:59:17,633 INFO L139 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2021-09-13 23:59:17,633 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [705055544] [2021-09-13 23:59:17,633 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleMathsat [705055544] provided 2 perfect and 0 imperfect interpolant sequences [2021-09-13 23:59:17,634 INFO L186 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2021-09-13 23:59:17,634 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2, 2] imperfect sequences [] total 2 [2021-09-13 23:59:17,635 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1134741947] [2021-09-13 23:59:17,638 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 3.0) internal successors, (6), 3 states have internal predecessors, (6), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 10 [2021-09-13 23:59:17,639 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:59:17,641 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 3.0) internal successors, (6), 3 states have internal predecessors, (6), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:17,650 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:59:17,650 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2021-09-13 23:59:17,650 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2021-09-13 23:59:17,662 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2021-09-13 23:59:17,663 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2021-09-13 23:59:17,666 INFO L87 Difference]: Start difference. First operand has 146 states, 76 states have (on average 1.894736842105263) internal successors, (144), 136 states have internal predecessors, (144), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand has 3 states, 2 states have (on average 3.0) internal successors, (6), 3 states have internal predecessors, (6), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:18,101 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:18,101 INFO L93 Difference]: Finished difference Result 143 states and 150 transitions. [2021-09-13 23:59:18,102 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2021-09-13 23:59:18,102 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 3.0) internal successors, (6), 3 states have internal predecessors, (6), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 10 [2021-09-13 23:59:18,102 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:59:18,103 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 3.0) internal successors, (6), 3 states have internal predecessors, (6), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:18,110 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 154 transitions. [2021-09-13 23:59:18,110 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 3.0) internal successors, (6), 3 states have internal predecessors, (6), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:18,113 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 154 transitions. [2021-09-13 23:59:18,113 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 154 transitions. [2021-09-13 23:59:18,247 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 154 edges. 154 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:59:18,255 INFO L225 Difference]: With dead ends: 143 [2021-09-13 23:59:18,255 INFO L226 Difference]: Without dead ends: 136 [2021-09-13 23:59:18,256 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 5.92ms TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2021-09-13 23:59:18,258 INFO L928 BasicCegarLoop]: 11 mSDtfsCounter, 23 mSDsluCounter, 209 mSDsCounter, 0 mSdLazyCounter, 255 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 189.29ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 19 SdHoareTripleChecker+Invalid, 258 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 2.61ms SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 255 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 193.29ms IncrementalHoareTripleChecker+Time [2021-09-13 23:59:18,258 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 19 Invalid, 258 Unknown, 0 Unchecked, 2.61ms Time], IncrementalHoareTripleChecker [3 Valid, 255 Invalid, 0 Unknown, 0 Unchecked, 193.29ms Time] [2021-09-13 23:59:18,269 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 136 states. [2021-09-13 23:59:18,278 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 136 to 136. [2021-09-13 23:59:18,278 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:59:18,279 INFO L82 GeneralOperation]: Start isEquivalent. First operand 136 states. Second operand has 136 states, 73 states have (on average 1.8356164383561644) internal successors, (134), 128 states have internal predecessors, (134), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:18,280 INFO L74 IsIncluded]: Start isIncluded. First operand 136 states. Second operand has 136 states, 73 states have (on average 1.8356164383561644) internal successors, (134), 128 states have internal predecessors, (134), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:18,281 INFO L87 Difference]: Start difference. First operand 136 states. Second operand has 136 states, 73 states have (on average 1.8356164383561644) internal successors, (134), 128 states have internal predecessors, (134), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:18,289 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:18,290 INFO L93 Difference]: Finished difference Result 136 states and 141 transitions. [2021-09-13 23:59:18,290 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 141 transitions. [2021-09-13 23:59:18,291 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:59:18,291 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:59:18,291 INFO L74 IsIncluded]: Start isIncluded. First operand has 136 states, 73 states have (on average 1.8356164383561644) internal successors, (134), 128 states have internal predecessors, (134), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 136 states. [2021-09-13 23:59:18,292 INFO L87 Difference]: Start difference. First operand has 136 states, 73 states have (on average 1.8356164383561644) internal successors, (134), 128 states have internal predecessors, (134), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 136 states. [2021-09-13 23:59:18,296 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:18,296 INFO L93 Difference]: Finished difference Result 136 states and 141 transitions. [2021-09-13 23:59:18,296 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 141 transitions. [2021-09-13 23:59:18,303 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:59:18,303 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:59:18,303 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:59:18,303 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:59:18,304 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 136 states, 73 states have (on average 1.8356164383561644) internal successors, (134), 128 states have internal predecessors, (134), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:18,307 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 136 states to 136 states and 141 transitions. [2021-09-13 23:59:18,308 INFO L78 Accepts]: Start accepts. Automaton has 136 states and 141 transitions. Word has length 10 [2021-09-13 23:59:18,308 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:59:18,308 INFO L470 AbstractCegarLoop]: Abstraction has 136 states and 141 transitions. [2021-09-13 23:59:18,309 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 3.0) internal successors, (6), 3 states have internal predecessors, (6), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:18,309 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 141 transitions. [2021-09-13 23:59:18,309 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2021-09-13 23:59:18,309 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:59:18,309 INFO L513 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 23:59:18,319 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Forceful destruction successful, exit code 0 [2021-09-13 23:59:18,516 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-09-13 23:59:18,517 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting dll_circular_createErr1REQUIRES_VIOLATION === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:59:18,517 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:59:18,517 INFO L82 PathProgramCache]: Analyzing trace with hash 1881586757, now seen corresponding path program 1 times [2021-09-13 23:59:18,518 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-09-13 23:59:18,518 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [747339220] [2021-09-13 23:59:18,518 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:59:18,518 INFO L170 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-09-13 23:59:18,518 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-09-13 23:59:18,519 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) [2021-09-13 23:59:18,521 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (3)] Waiting until timeout for monitored process [2021-09-13 23:59:18,588 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:59:18,589 INFO L263 TraceCheckSpWp]: Trace formula consists of 46 conjuncts, 3 conjunts are in the unsatisfiable core [2021-09-13 23:59:18,594 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:59:18,594 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 23:59:18,625 INFO L388 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 [2021-09-13 23:59:18,650 INFO L264 TraceCheckUtils]: 0: Hoare triple {762#true} call ULTIMATE.init(); {762#true} is VALID [2021-09-13 23:59:18,650 INFO L281 TraceCheckUtils]: 1: Hoare triple {762#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {762#true} is VALID [2021-09-13 23:59:18,650 INFO L281 TraceCheckUtils]: 2: Hoare triple {762#true} assume true; {762#true} is VALID [2021-09-13 23:59:18,650 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {762#true} {762#true} #223#return; {762#true} is VALID [2021-09-13 23:59:18,651 INFO L264 TraceCheckUtils]: 4: Hoare triple {762#true} call #t~ret13 := main(); {762#true} is VALID [2021-09-13 23:59:18,651 INFO L281 TraceCheckUtils]: 5: Hoare triple {762#true} ~len~0 := 3bv32; {762#true} is VALID [2021-09-13 23:59:18,651 INFO L264 TraceCheckUtils]: 6: Hoare triple {762#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {762#true} is VALID [2021-09-13 23:59:18,652 INFO L281 TraceCheckUtils]: 7: Hoare triple {762#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {788#(and (= (select |#length| dll_circular_create_~last~0.base) (_ bv8 32)) (= dll_circular_create_~last~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:18,652 INFO L281 TraceCheckUtils]: 8: Hoare triple {788#(and (= (select |#length| dll_circular_create_~last~0.base) (_ bv8 32)) (= dll_circular_create_~last~0.offset (_ bv0 32)))} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {788#(and (= (select |#length| dll_circular_create_~last~0.base) (_ bv8 32)) (= dll_circular_create_~last~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:18,653 INFO L281 TraceCheckUtils]: 9: Hoare triple {788#(and (= (select |#length| dll_circular_create_~last~0.base) (_ bv8 32)) (= dll_circular_create_~last~0.offset (_ bv0 32)))} assume !((~bvule32(~bvadd32(4bv32, ~last~0.offset), #length[~last~0.base]) && ~bvule32(~last~0.offset, ~bvadd32(4bv32, ~last~0.offset))) && ~bvule32(0bv32, ~last~0.offset)); {763#false} is VALID [2021-09-13 23:59:18,653 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:59:18,653 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 23:59:18,734 INFO L281 TraceCheckUtils]: 9: Hoare triple {795#(and (bvule dll_circular_create_~last~0.offset (bvadd (_ bv4 32) dll_circular_create_~last~0.offset)) (bvule (bvadd (_ bv4 32) dll_circular_create_~last~0.offset) (select |#length| dll_circular_create_~last~0.base)))} assume !((~bvule32(~bvadd32(4bv32, ~last~0.offset), #length[~last~0.base]) && ~bvule32(~last~0.offset, ~bvadd32(4bv32, ~last~0.offset))) && ~bvule32(0bv32, ~last~0.offset)); {763#false} is VALID [2021-09-13 23:59:18,735 INFO L281 TraceCheckUtils]: 8: Hoare triple {795#(and (bvule dll_circular_create_~last~0.offset (bvadd (_ bv4 32) dll_circular_create_~last~0.offset)) (bvule (bvadd (_ bv4 32) dll_circular_create_~last~0.offset) (select |#length| dll_circular_create_~last~0.base)))} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {795#(and (bvule dll_circular_create_~last~0.offset (bvadd (_ bv4 32) dll_circular_create_~last~0.offset)) (bvule (bvadd (_ bv4 32) dll_circular_create_~last~0.offset) (select |#length| dll_circular_create_~last~0.base)))} is VALID [2021-09-13 23:59:18,736 INFO L281 TraceCheckUtils]: 7: Hoare triple {762#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {795#(and (bvule dll_circular_create_~last~0.offset (bvadd (_ bv4 32) dll_circular_create_~last~0.offset)) (bvule (bvadd (_ bv4 32) dll_circular_create_~last~0.offset) (select |#length| dll_circular_create_~last~0.base)))} is VALID [2021-09-13 23:59:18,736 INFO L264 TraceCheckUtils]: 6: Hoare triple {762#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {762#true} is VALID [2021-09-13 23:59:18,736 INFO L281 TraceCheckUtils]: 5: Hoare triple {762#true} ~len~0 := 3bv32; {762#true} is VALID [2021-09-13 23:59:18,736 INFO L264 TraceCheckUtils]: 4: Hoare triple {762#true} call #t~ret13 := main(); {762#true} is VALID [2021-09-13 23:59:18,736 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {762#true} {762#true} #223#return; {762#true} is VALID [2021-09-13 23:59:18,737 INFO L281 TraceCheckUtils]: 2: Hoare triple {762#true} assume true; {762#true} is VALID [2021-09-13 23:59:18,737 INFO L281 TraceCheckUtils]: 1: Hoare triple {762#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {762#true} is VALID [2021-09-13 23:59:18,737 INFO L264 TraceCheckUtils]: 0: Hoare triple {762#true} call ULTIMATE.init(); {762#true} is VALID [2021-09-13 23:59:18,737 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:59:18,737 INFO L139 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2021-09-13 23:59:18,738 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [747339220] [2021-09-13 23:59:18,738 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleMathsat [747339220] provided 2 perfect and 0 imperfect interpolant sequences [2021-09-13 23:59:18,738 INFO L186 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2021-09-13 23:59:18,738 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2, 2] imperfect sequences [] total 3 [2021-09-13 23:59:18,738 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1343621043] [2021-09-13 23:59:18,739 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 10 [2021-09-13 23:59:18,739 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:59:18,739 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:18,750 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:59:18,750 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2021-09-13 23:59:18,750 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2021-09-13 23:59:18,751 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2021-09-13 23:59:18,751 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2021-09-13 23:59:18,751 INFO L87 Difference]: Start difference. First operand 136 states and 141 transitions. Second operand has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:19,479 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:19,479 INFO L93 Difference]: Finished difference Result 133 states and 138 transitions. [2021-09-13 23:59:19,479 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2021-09-13 23:59:19,480 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 10 [2021-09-13 23:59:19,480 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:59:19,480 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:19,482 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 141 transitions. [2021-09-13 23:59:19,482 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:19,483 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 141 transitions. [2021-09-13 23:59:19,483 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 141 transitions. [2021-09-13 23:59:19,584 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 141 edges. 141 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:59:19,586 INFO L225 Difference]: With dead ends: 133 [2021-09-13 23:59:19,586 INFO L226 Difference]: Without dead ends: 133 [2021-09-13 23:59:19,587 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 20.34ms TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2021-09-13 23:59:19,587 INFO L928 BasicCegarLoop]: 7 mSDtfsCounter, 18 mSDsluCounter, 343 mSDsCounter, 0 mSdLazyCounter, 353 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 334.45ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 19 SdHoareTripleChecker+Invalid, 356 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 1.96ms SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 353 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 336.58ms IncrementalHoareTripleChecker+Time [2021-09-13 23:59:19,588 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 19 Invalid, 356 Unknown, 0 Unchecked, 1.96ms Time], IncrementalHoareTripleChecker [3 Valid, 353 Invalid, 0 Unknown, 0 Unchecked, 336.58ms Time] [2021-09-13 23:59:19,588 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 133 states. [2021-09-13 23:59:19,592 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 133 to 133. [2021-09-13 23:59:19,592 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:59:19,592 INFO L82 GeneralOperation]: Start isEquivalent. First operand 133 states. Second operand has 133 states, 73 states have (on average 1.7945205479452055) internal successors, (131), 125 states have internal predecessors, (131), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:19,593 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand has 133 states, 73 states have (on average 1.7945205479452055) internal successors, (131), 125 states have internal predecessors, (131), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:19,593 INFO L87 Difference]: Start difference. First operand 133 states. Second operand has 133 states, 73 states have (on average 1.7945205479452055) internal successors, (131), 125 states have internal predecessors, (131), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:19,596 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:19,596 INFO L93 Difference]: Finished difference Result 133 states and 138 transitions. [2021-09-13 23:59:19,596 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 138 transitions. [2021-09-13 23:59:19,597 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:59:19,597 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:59:19,597 INFO L74 IsIncluded]: Start isIncluded. First operand has 133 states, 73 states have (on average 1.7945205479452055) internal successors, (131), 125 states have internal predecessors, (131), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 133 states. [2021-09-13 23:59:19,598 INFO L87 Difference]: Start difference. First operand has 133 states, 73 states have (on average 1.7945205479452055) internal successors, (131), 125 states have internal predecessors, (131), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 133 states. [2021-09-13 23:59:19,601 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:19,601 INFO L93 Difference]: Finished difference Result 133 states and 138 transitions. [2021-09-13 23:59:19,601 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 138 transitions. [2021-09-13 23:59:19,602 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:59:19,602 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:59:19,602 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:59:19,602 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:59:19,602 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 133 states, 73 states have (on average 1.7945205479452055) internal successors, (131), 125 states have internal predecessors, (131), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:19,607 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 138 transitions. [2021-09-13 23:59:19,607 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 138 transitions. Word has length 10 [2021-09-13 23:59:19,608 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:59:19,608 INFO L470 AbstractCegarLoop]: Abstraction has 133 states and 138 transitions. [2021-09-13 23:59:19,608 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:19,608 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 138 transitions. [2021-09-13 23:59:19,608 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2021-09-13 23:59:19,608 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:59:19,609 INFO L513 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 23:59:19,615 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (3)] Forceful destruction successful, exit code 0 [2021-09-13 23:59:19,815 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-09-13 23:59:19,815 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting dll_circular_createErr10REQUIRES_VIOLATION === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:59:19,815 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:59:19,815 INFO L82 PathProgramCache]: Analyzing trace with hash 30803427, now seen corresponding path program 1 times [2021-09-13 23:59:19,816 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-09-13 23:59:19,816 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [2114956952] [2021-09-13 23:59:19,816 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:59:19,816 INFO L170 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-09-13 23:59:19,816 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-09-13 23:59:19,818 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) [2021-09-13 23:59:19,820 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (4)] Waiting until timeout for monitored process [2021-09-13 23:59:19,895 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:59:19,896 INFO L263 TraceCheckSpWp]: Trace formula consists of 67 conjuncts, 4 conjunts are in the unsatisfiable core [2021-09-13 23:59:19,902 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:59:19,903 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 23:59:19,973 INFO L264 TraceCheckUtils]: 0: Hoare triple {1357#true} call ULTIMATE.init(); {1357#true} is VALID [2021-09-13 23:59:19,973 INFO L281 TraceCheckUtils]: 1: Hoare triple {1357#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {1357#true} is VALID [2021-09-13 23:59:19,974 INFO L281 TraceCheckUtils]: 2: Hoare triple {1357#true} assume true; {1357#true} is VALID [2021-09-13 23:59:19,974 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {1357#true} {1357#true} #223#return; {1357#true} is VALID [2021-09-13 23:59:19,974 INFO L264 TraceCheckUtils]: 4: Hoare triple {1357#true} call #t~ret13 := main(); {1357#true} is VALID [2021-09-13 23:59:19,974 INFO L281 TraceCheckUtils]: 5: Hoare triple {1357#true} ~len~0 := 3bv32; {1377#(= (_ bv3 32) main_~len~0)} is VALID [2021-09-13 23:59:19,975 INFO L264 TraceCheckUtils]: 6: Hoare triple {1377#(= (_ bv3 32) main_~len~0)} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {1381#(= |dll_circular_create_#in~len| (_ bv3 32))} is VALID [2021-09-13 23:59:19,976 INFO L281 TraceCheckUtils]: 7: Hoare triple {1381#(= |dll_circular_create_#in~len| (_ bv3 32))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {1385#(= dll_circular_create_~len (_ bv3 32))} is VALID [2021-09-13 23:59:19,976 INFO L281 TraceCheckUtils]: 8: Hoare triple {1385#(= dll_circular_create_~len (_ bv3 32))} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {1385#(= dll_circular_create_~len (_ bv3 32))} is VALID [2021-09-13 23:59:19,976 INFO L281 TraceCheckUtils]: 9: Hoare triple {1385#(= dll_circular_create_~len (_ bv3 32))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {1385#(= dll_circular_create_~len (_ bv3 32))} is VALID [2021-09-13 23:59:19,977 INFO L281 TraceCheckUtils]: 10: Hoare triple {1385#(= dll_circular_create_~len (_ bv3 32))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {1385#(= dll_circular_create_~len (_ bv3 32))} is VALID [2021-09-13 23:59:19,977 INFO L281 TraceCheckUtils]: 11: Hoare triple {1385#(= dll_circular_create_~len (_ bv3 32))} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {1385#(= dll_circular_create_~len (_ bv3 32))} is VALID [2021-09-13 23:59:19,978 INFO L281 TraceCheckUtils]: 12: Hoare triple {1385#(= dll_circular_create_~len (_ bv3 32))} assume !~bvsgt32(~len, 1bv32); {1358#false} is VALID [2021-09-13 23:59:19,978 INFO L281 TraceCheckUtils]: 13: Hoare triple {1358#false} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {1358#false} is VALID [2021-09-13 23:59:19,978 INFO L281 TraceCheckUtils]: 14: Hoare triple {1358#false} assume !(1bv1 == #valid[~head~0.base]); {1358#false} is VALID [2021-09-13 23:59:19,978 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:59:19,978 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 23:59:20,056 INFO L281 TraceCheckUtils]: 14: Hoare triple {1358#false} assume !(1bv1 == #valid[~head~0.base]); {1358#false} is VALID [2021-09-13 23:59:20,056 INFO L281 TraceCheckUtils]: 13: Hoare triple {1358#false} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {1358#false} is VALID [2021-09-13 23:59:20,056 INFO L281 TraceCheckUtils]: 12: Hoare triple {1413#(bvsgt dll_circular_create_~len (_ bv1 32))} assume !~bvsgt32(~len, 1bv32); {1358#false} is VALID [2021-09-13 23:59:20,057 INFO L281 TraceCheckUtils]: 11: Hoare triple {1413#(bvsgt dll_circular_create_~len (_ bv1 32))} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {1413#(bvsgt dll_circular_create_~len (_ bv1 32))} is VALID [2021-09-13 23:59:20,057 INFO L281 TraceCheckUtils]: 10: Hoare triple {1413#(bvsgt dll_circular_create_~len (_ bv1 32))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {1413#(bvsgt dll_circular_create_~len (_ bv1 32))} is VALID [2021-09-13 23:59:20,058 INFO L281 TraceCheckUtils]: 9: Hoare triple {1413#(bvsgt dll_circular_create_~len (_ bv1 32))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {1413#(bvsgt dll_circular_create_~len (_ bv1 32))} is VALID [2021-09-13 23:59:20,058 INFO L281 TraceCheckUtils]: 8: Hoare triple {1413#(bvsgt dll_circular_create_~len (_ bv1 32))} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {1413#(bvsgt dll_circular_create_~len (_ bv1 32))} is VALID [2021-09-13 23:59:20,059 INFO L281 TraceCheckUtils]: 7: Hoare triple {1429#(bvsgt |dll_circular_create_#in~len| (_ bv1 32))} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {1413#(bvsgt dll_circular_create_~len (_ bv1 32))} is VALID [2021-09-13 23:59:20,059 INFO L264 TraceCheckUtils]: 6: Hoare triple {1433#(bvsgt main_~len~0 (_ bv1 32))} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {1429#(bvsgt |dll_circular_create_#in~len| (_ bv1 32))} is VALID [2021-09-13 23:59:20,059 INFO L281 TraceCheckUtils]: 5: Hoare triple {1357#true} ~len~0 := 3bv32; {1433#(bvsgt main_~len~0 (_ bv1 32))} is VALID [2021-09-13 23:59:20,060 INFO L264 TraceCheckUtils]: 4: Hoare triple {1357#true} call #t~ret13 := main(); {1357#true} is VALID [2021-09-13 23:59:20,060 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {1357#true} {1357#true} #223#return; {1357#true} is VALID [2021-09-13 23:59:20,060 INFO L281 TraceCheckUtils]: 2: Hoare triple {1357#true} assume true; {1357#true} is VALID [2021-09-13 23:59:20,060 INFO L281 TraceCheckUtils]: 1: Hoare triple {1357#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {1357#true} is VALID [2021-09-13 23:59:20,060 INFO L264 TraceCheckUtils]: 0: Hoare triple {1357#true} call ULTIMATE.init(); {1357#true} is VALID [2021-09-13 23:59:20,061 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:59:20,061 INFO L139 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2021-09-13 23:59:20,061 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [2114956952] [2021-09-13 23:59:20,061 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleMathsat [2114956952] provided 2 perfect and 0 imperfect interpolant sequences [2021-09-13 23:59:20,061 INFO L186 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2021-09-13 23:59:20,061 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5, 5] imperfect sequences [] total 8 [2021-09-13 23:59:20,062 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [363731311] [2021-09-13 23:59:20,062 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 6 states have (on average 3.0) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 15 [2021-09-13 23:59:20,062 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:59:20,062 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 6 states have (on average 3.0) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:20,081 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:59:20,081 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2021-09-13 23:59:20,081 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2021-09-13 23:59:20,082 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2021-09-13 23:59:20,082 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2021-09-13 23:59:20,082 INFO L87 Difference]: Start difference. First operand 133 states and 138 transitions. Second operand has 8 states, 6 states have (on average 3.0) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:21,144 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:21,144 INFO L93 Difference]: Finished difference Result 143 states and 148 transitions. [2021-09-13 23:59:21,144 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2021-09-13 23:59:21,144 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 6 states have (on average 3.0) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 15 [2021-09-13 23:59:21,145 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:59:21,145 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 6 states have (on average 3.0) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:21,147 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 150 transitions. [2021-09-13 23:59:21,147 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 6 states have (on average 3.0) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:21,149 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 150 transitions. [2021-09-13 23:59:21,149 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 150 transitions. [2021-09-13 23:59:21,259 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 150 edges. 150 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:59:21,261 INFO L225 Difference]: With dead ends: 143 [2021-09-13 23:59:21,261 INFO L226 Difference]: Without dead ends: 143 [2021-09-13 23:59:21,262 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 31 GetRequests, 23 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 37.37ms TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2021-09-13 23:59:21,262 INFO L928 BasicCegarLoop]: 6 mSDtfsCounter, 51 mSDsluCounter, 738 mSDsCounter, 0 mSdLazyCounter, 727 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 499.44ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 53 SdHoareTripleChecker+Valid, 33 SdHoareTripleChecker+Invalid, 733 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 3.20ms SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 727 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 503.17ms IncrementalHoareTripleChecker+Time [2021-09-13 23:59:21,263 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [53 Valid, 33 Invalid, 733 Unknown, 0 Unchecked, 3.20ms Time], IncrementalHoareTripleChecker [6 Valid, 727 Invalid, 0 Unknown, 0 Unchecked, 503.17ms Time] [2021-09-13 23:59:21,263 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 143 states. [2021-09-13 23:59:21,266 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 143 to 139. [2021-09-13 23:59:21,266 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:59:21,267 INFO L82 GeneralOperation]: Start isEquivalent. First operand 143 states. Second operand has 139 states, 79 states have (on average 1.7848101265822784) internal successors, (141), 131 states have internal predecessors, (141), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:21,267 INFO L74 IsIncluded]: Start isIncluded. First operand 143 states. Second operand has 139 states, 79 states have (on average 1.7848101265822784) internal successors, (141), 131 states have internal predecessors, (141), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:21,267 INFO L87 Difference]: Start difference. First operand 143 states. Second operand has 139 states, 79 states have (on average 1.7848101265822784) internal successors, (141), 131 states have internal predecessors, (141), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:21,270 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:21,271 INFO L93 Difference]: Finished difference Result 143 states and 148 transitions. [2021-09-13 23:59:21,271 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 148 transitions. [2021-09-13 23:59:21,271 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:59:21,271 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:59:21,272 INFO L74 IsIncluded]: Start isIncluded. First operand has 139 states, 79 states have (on average 1.7848101265822784) internal successors, (141), 131 states have internal predecessors, (141), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 143 states. [2021-09-13 23:59:21,272 INFO L87 Difference]: Start difference. First operand has 139 states, 79 states have (on average 1.7848101265822784) internal successors, (141), 131 states have internal predecessors, (141), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 143 states. [2021-09-13 23:59:21,275 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:21,275 INFO L93 Difference]: Finished difference Result 143 states and 148 transitions. [2021-09-13 23:59:21,275 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 148 transitions. [2021-09-13 23:59:21,276 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:59:21,276 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:59:21,276 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:59:21,276 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:59:21,276 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 139 states, 79 states have (on average 1.7848101265822784) internal successors, (141), 131 states have internal predecessors, (141), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:21,279 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 139 states to 139 states and 148 transitions. [2021-09-13 23:59:21,279 INFO L78 Accepts]: Start accepts. Automaton has 139 states and 148 transitions. Word has length 15 [2021-09-13 23:59:21,279 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:59:21,280 INFO L470 AbstractCegarLoop]: Abstraction has 139 states and 148 transitions. [2021-09-13 23:59:21,280 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 6 states have (on average 3.0) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:21,280 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 148 transitions. [2021-09-13 23:59:21,280 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2021-09-13 23:59:21,280 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:59:21,280 INFO L513 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 23:59:21,301 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (4)] Forceful destruction successful, exit code 0 [2021-09-13 23:59:21,487 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-09-13 23:59:21,487 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting dll_circular_createErr4REQUIRES_VIOLATION === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:59:21,488 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:59:21,488 INFO L82 PathProgramCache]: Analyzing trace with hash 30804964, now seen corresponding path program 1 times [2021-09-13 23:59:21,488 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-09-13 23:59:21,488 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1441073590] [2021-09-13 23:59:21,488 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:59:21,488 INFO L170 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-09-13 23:59:21,489 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-09-13 23:59:21,489 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) [2021-09-13 23:59:21,491 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (5)] Waiting until timeout for monitored process [2021-09-13 23:59:21,591 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:59:21,592 INFO L263 TraceCheckSpWp]: Trace formula consists of 68 conjuncts, 2 conjunts are in the unsatisfiable core [2021-09-13 23:59:21,607 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:59:21,607 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 23:59:21,655 INFO L388 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 [2021-09-13 23:59:21,670 INFO L264 TraceCheckUtils]: 0: Hoare triple {2026#true} call ULTIMATE.init(); {2026#true} is VALID [2021-09-13 23:59:21,670 INFO L281 TraceCheckUtils]: 1: Hoare triple {2026#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {2026#true} is VALID [2021-09-13 23:59:21,670 INFO L281 TraceCheckUtils]: 2: Hoare triple {2026#true} assume true; {2026#true} is VALID [2021-09-13 23:59:21,670 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {2026#true} {2026#true} #223#return; {2026#true} is VALID [2021-09-13 23:59:21,671 INFO L264 TraceCheckUtils]: 4: Hoare triple {2026#true} call #t~ret13 := main(); {2026#true} is VALID [2021-09-13 23:59:21,671 INFO L281 TraceCheckUtils]: 5: Hoare triple {2026#true} ~len~0 := 3bv32; {2026#true} is VALID [2021-09-13 23:59:21,671 INFO L264 TraceCheckUtils]: 6: Hoare triple {2026#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {2026#true} is VALID [2021-09-13 23:59:21,671 INFO L281 TraceCheckUtils]: 7: Hoare triple {2026#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {2026#true} is VALID [2021-09-13 23:59:21,671 INFO L281 TraceCheckUtils]: 8: Hoare triple {2026#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {2026#true} is VALID [2021-09-13 23:59:21,671 INFO L281 TraceCheckUtils]: 9: Hoare triple {2026#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {2026#true} is VALID [2021-09-13 23:59:21,672 INFO L281 TraceCheckUtils]: 10: Hoare triple {2026#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {2026#true} is VALID [2021-09-13 23:59:21,672 INFO L281 TraceCheckUtils]: 11: Hoare triple {2026#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {2026#true} is VALID [2021-09-13 23:59:21,673 INFO L281 TraceCheckUtils]: 12: Hoare triple {2026#true} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {2067#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:59:21,673 INFO L281 TraceCheckUtils]: 13: Hoare triple {2067#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {2067#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:59:21,674 INFO L281 TraceCheckUtils]: 14: Hoare triple {2067#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} assume !(1bv1 == #valid[~new_head~0.base]); {2027#false} is VALID [2021-09-13 23:59:21,674 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:59:21,674 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 23:59:21,734 INFO L281 TraceCheckUtils]: 14: Hoare triple {2067#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} assume !(1bv1 == #valid[~new_head~0.base]); {2027#false} is VALID [2021-09-13 23:59:21,735 INFO L281 TraceCheckUtils]: 13: Hoare triple {2067#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {2067#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:59:21,736 INFO L281 TraceCheckUtils]: 12: Hoare triple {2026#true} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {2067#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:59:21,736 INFO L281 TraceCheckUtils]: 11: Hoare triple {2026#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {2026#true} is VALID [2021-09-13 23:59:21,736 INFO L281 TraceCheckUtils]: 10: Hoare triple {2026#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {2026#true} is VALID [2021-09-13 23:59:21,737 INFO L281 TraceCheckUtils]: 9: Hoare triple {2026#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {2026#true} is VALID [2021-09-13 23:59:21,737 INFO L281 TraceCheckUtils]: 8: Hoare triple {2026#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {2026#true} is VALID [2021-09-13 23:59:21,737 INFO L281 TraceCheckUtils]: 7: Hoare triple {2026#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {2026#true} is VALID [2021-09-13 23:59:21,737 INFO L264 TraceCheckUtils]: 6: Hoare triple {2026#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {2026#true} is VALID [2021-09-13 23:59:21,737 INFO L281 TraceCheckUtils]: 5: Hoare triple {2026#true} ~len~0 := 3bv32; {2026#true} is VALID [2021-09-13 23:59:21,737 INFO L264 TraceCheckUtils]: 4: Hoare triple {2026#true} call #t~ret13 := main(); {2026#true} is VALID [2021-09-13 23:59:21,738 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {2026#true} {2026#true} #223#return; {2026#true} is VALID [2021-09-13 23:59:21,738 INFO L281 TraceCheckUtils]: 2: Hoare triple {2026#true} assume true; {2026#true} is VALID [2021-09-13 23:59:21,738 INFO L281 TraceCheckUtils]: 1: Hoare triple {2026#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {2026#true} is VALID [2021-09-13 23:59:21,738 INFO L264 TraceCheckUtils]: 0: Hoare triple {2026#true} call ULTIMATE.init(); {2026#true} is VALID [2021-09-13 23:59:21,738 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:59:21,741 INFO L139 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2021-09-13 23:59:21,741 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1441073590] [2021-09-13 23:59:21,741 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1441073590] provided 2 perfect and 0 imperfect interpolant sequences [2021-09-13 23:59:21,741 INFO L186 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2021-09-13 23:59:21,741 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2, 2] imperfect sequences [] total 2 [2021-09-13 23:59:21,742 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1707699112] [2021-09-13 23:59:21,742 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 5.5) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 15 [2021-09-13 23:59:21,742 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:59:21,742 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 5.5) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:21,754 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:59:21,754 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2021-09-13 23:59:21,755 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2021-09-13 23:59:21,755 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2021-09-13 23:59:21,755 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2021-09-13 23:59:21,755 INFO L87 Difference]: Start difference. First operand 139 states and 148 transitions. Second operand has 3 states, 2 states have (on average 5.5) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:22,091 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:22,092 INFO L93 Difference]: Finished difference Result 138 states and 146 transitions. [2021-09-13 23:59:22,092 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2021-09-13 23:59:22,092 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 5.5) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 15 [2021-09-13 23:59:22,092 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:59:22,092 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 5.5) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:22,094 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 139 transitions. [2021-09-13 23:59:22,094 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 5.5) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:22,096 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 139 transitions. [2021-09-13 23:59:22,096 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 139 transitions. [2021-09-13 23:59:22,194 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 139 edges. 139 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:59:22,195 INFO L225 Difference]: With dead ends: 138 [2021-09-13 23:59:22,195 INFO L226 Difference]: Without dead ends: 138 [2021-09-13 23:59:22,196 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 29 GetRequests, 28 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 3.57ms TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2021-09-13 23:59:22,196 INFO L928 BasicCegarLoop]: 7 mSDtfsCounter, 13 mSDsluCounter, 205 mSDsCounter, 0 mSdLazyCounter, 247 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 159.91ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 13 SdHoareTripleChecker+Invalid, 247 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.92ms SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 247 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 161.24ms IncrementalHoareTripleChecker+Time [2021-09-13 23:59:22,196 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 13 Invalid, 247 Unknown, 0 Unchecked, 0.92ms Time], IncrementalHoareTripleChecker [0 Valid, 247 Invalid, 0 Unknown, 0 Unchecked, 161.24ms Time] [2021-09-13 23:59:22,197 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 138 states. [2021-09-13 23:59:22,200 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 138 to 138. [2021-09-13 23:59:22,200 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:59:22,200 INFO L82 GeneralOperation]: Start isEquivalent. First operand 138 states. Second operand has 138 states, 79 states have (on average 1.759493670886076) internal successors, (139), 130 states have internal predecessors, (139), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:22,201 INFO L74 IsIncluded]: Start isIncluded. First operand 138 states. Second operand has 138 states, 79 states have (on average 1.759493670886076) internal successors, (139), 130 states have internal predecessors, (139), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:22,201 INFO L87 Difference]: Start difference. First operand 138 states. Second operand has 138 states, 79 states have (on average 1.759493670886076) internal successors, (139), 130 states have internal predecessors, (139), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:22,203 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:22,203 INFO L93 Difference]: Finished difference Result 138 states and 146 transitions. [2021-09-13 23:59:22,203 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 146 transitions. [2021-09-13 23:59:22,203 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:59:22,203 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:59:22,204 INFO L74 IsIncluded]: Start isIncluded. First operand has 138 states, 79 states have (on average 1.759493670886076) internal successors, (139), 130 states have internal predecessors, (139), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 138 states. [2021-09-13 23:59:22,204 INFO L87 Difference]: Start difference. First operand has 138 states, 79 states have (on average 1.759493670886076) internal successors, (139), 130 states have internal predecessors, (139), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 138 states. [2021-09-13 23:59:22,206 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:22,206 INFO L93 Difference]: Finished difference Result 138 states and 146 transitions. [2021-09-13 23:59:22,207 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 146 transitions. [2021-09-13 23:59:22,207 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:59:22,207 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:59:22,207 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:59:22,207 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:59:22,207 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 138 states, 79 states have (on average 1.759493670886076) internal successors, (139), 130 states have internal predecessors, (139), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:22,209 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 138 states to 138 states and 146 transitions. [2021-09-13 23:59:22,210 INFO L78 Accepts]: Start accepts. Automaton has 138 states and 146 transitions. Word has length 15 [2021-09-13 23:59:22,210 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:59:22,210 INFO L470 AbstractCegarLoop]: Abstraction has 138 states and 146 transitions. [2021-09-13 23:59:22,210 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 5.5) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:22,210 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 146 transitions. [2021-09-13 23:59:22,210 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2021-09-13 23:59:22,210 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:59:22,211 INFO L513 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 23:59:22,217 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (5)] Ended with exit code 0 [2021-09-13 23:59:22,417 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-09-13 23:59:22,417 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting dll_circular_createErr5REQUIRES_VIOLATION === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:59:22,418 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:59:22,418 INFO L82 PathProgramCache]: Analyzing trace with hash 30804965, now seen corresponding path program 1 times [2021-09-13 23:59:22,418 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-09-13 23:59:22,418 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [29150863] [2021-09-13 23:59:22,418 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:59:22,418 INFO L170 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-09-13 23:59:22,419 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-09-13 23:59:22,419 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) [2021-09-13 23:59:22,421 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (6)] Waiting until timeout for monitored process [2021-09-13 23:59:22,488 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:59:22,490 INFO L263 TraceCheckSpWp]: Trace formula consists of 68 conjuncts, 3 conjunts are in the unsatisfiable core [2021-09-13 23:59:22,495 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:59:22,496 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 23:59:22,536 INFO L388 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 [2021-09-13 23:59:22,560 INFO L264 TraceCheckUtils]: 0: Hoare triple {2670#true} call ULTIMATE.init(); {2670#true} is VALID [2021-09-13 23:59:22,561 INFO L281 TraceCheckUtils]: 1: Hoare triple {2670#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {2670#true} is VALID [2021-09-13 23:59:22,561 INFO L281 TraceCheckUtils]: 2: Hoare triple {2670#true} assume true; {2670#true} is VALID [2021-09-13 23:59:22,561 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {2670#true} {2670#true} #223#return; {2670#true} is VALID [2021-09-13 23:59:22,561 INFO L264 TraceCheckUtils]: 4: Hoare triple {2670#true} call #t~ret13 := main(); {2670#true} is VALID [2021-09-13 23:59:22,561 INFO L281 TraceCheckUtils]: 5: Hoare triple {2670#true} ~len~0 := 3bv32; {2670#true} is VALID [2021-09-13 23:59:22,561 INFO L264 TraceCheckUtils]: 6: Hoare triple {2670#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {2670#true} is VALID [2021-09-13 23:59:22,561 INFO L281 TraceCheckUtils]: 7: Hoare triple {2670#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {2670#true} is VALID [2021-09-13 23:59:22,562 INFO L281 TraceCheckUtils]: 8: Hoare triple {2670#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {2670#true} is VALID [2021-09-13 23:59:22,562 INFO L281 TraceCheckUtils]: 9: Hoare triple {2670#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {2670#true} is VALID [2021-09-13 23:59:22,562 INFO L281 TraceCheckUtils]: 10: Hoare triple {2670#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {2670#true} is VALID [2021-09-13 23:59:22,562 INFO L281 TraceCheckUtils]: 11: Hoare triple {2670#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {2670#true} is VALID [2021-09-13 23:59:22,563 INFO L281 TraceCheckUtils]: 12: Hoare triple {2670#true} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {2711#(and (= (_ bv8 32) (select |#length| dll_circular_create_~new_head~0.base)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:22,564 INFO L281 TraceCheckUtils]: 13: Hoare triple {2711#(and (= (_ bv8 32) (select |#length| dll_circular_create_~new_head~0.base)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {2711#(and (= (_ bv8 32) (select |#length| dll_circular_create_~new_head~0.base)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:22,564 INFO L281 TraceCheckUtils]: 14: Hoare triple {2711#(and (= (_ bv8 32) (select |#length| dll_circular_create_~new_head~0.base)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} assume !((~bvule32(~bvadd32(4bv32, ~new_head~0.offset), #length[~new_head~0.base]) && ~bvule32(~new_head~0.offset, ~bvadd32(4bv32, ~new_head~0.offset))) && ~bvule32(0bv32, ~new_head~0.offset)); {2671#false} is VALID [2021-09-13 23:59:22,564 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:59:22,565 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 23:59:22,645 INFO L281 TraceCheckUtils]: 14: Hoare triple {2718#(and (bvule dll_circular_create_~new_head~0.offset (bvadd dll_circular_create_~new_head~0.offset (_ bv4 32))) (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv4 32)) (select |#length| dll_circular_create_~new_head~0.base)))} assume !((~bvule32(~bvadd32(4bv32, ~new_head~0.offset), #length[~new_head~0.base]) && ~bvule32(~new_head~0.offset, ~bvadd32(4bv32, ~new_head~0.offset))) && ~bvule32(0bv32, ~new_head~0.offset)); {2671#false} is VALID [2021-09-13 23:59:22,646 INFO L281 TraceCheckUtils]: 13: Hoare triple {2718#(and (bvule dll_circular_create_~new_head~0.offset (bvadd dll_circular_create_~new_head~0.offset (_ bv4 32))) (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv4 32)) (select |#length| dll_circular_create_~new_head~0.base)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {2718#(and (bvule dll_circular_create_~new_head~0.offset (bvadd dll_circular_create_~new_head~0.offset (_ bv4 32))) (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv4 32)) (select |#length| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:59:22,647 INFO L281 TraceCheckUtils]: 12: Hoare triple {2670#true} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {2718#(and (bvule dll_circular_create_~new_head~0.offset (bvadd dll_circular_create_~new_head~0.offset (_ bv4 32))) (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv4 32)) (select |#length| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:59:22,647 INFO L281 TraceCheckUtils]: 11: Hoare triple {2670#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {2670#true} is VALID [2021-09-13 23:59:22,647 INFO L281 TraceCheckUtils]: 10: Hoare triple {2670#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {2670#true} is VALID [2021-09-13 23:59:22,647 INFO L281 TraceCheckUtils]: 9: Hoare triple {2670#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {2670#true} is VALID [2021-09-13 23:59:22,647 INFO L281 TraceCheckUtils]: 8: Hoare triple {2670#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {2670#true} is VALID [2021-09-13 23:59:22,647 INFO L281 TraceCheckUtils]: 7: Hoare triple {2670#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {2670#true} is VALID [2021-09-13 23:59:22,648 INFO L264 TraceCheckUtils]: 6: Hoare triple {2670#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {2670#true} is VALID [2021-09-13 23:59:22,648 INFO L281 TraceCheckUtils]: 5: Hoare triple {2670#true} ~len~0 := 3bv32; {2670#true} is VALID [2021-09-13 23:59:22,648 INFO L264 TraceCheckUtils]: 4: Hoare triple {2670#true} call #t~ret13 := main(); {2670#true} is VALID [2021-09-13 23:59:22,648 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {2670#true} {2670#true} #223#return; {2670#true} is VALID [2021-09-13 23:59:22,648 INFO L281 TraceCheckUtils]: 2: Hoare triple {2670#true} assume true; {2670#true} is VALID [2021-09-13 23:59:22,648 INFO L281 TraceCheckUtils]: 1: Hoare triple {2670#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {2670#true} is VALID [2021-09-13 23:59:22,649 INFO L264 TraceCheckUtils]: 0: Hoare triple {2670#true} call ULTIMATE.init(); {2670#true} is VALID [2021-09-13 23:59:22,649 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:59:22,649 INFO L139 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2021-09-13 23:59:22,649 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [29150863] [2021-09-13 23:59:22,649 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleMathsat [29150863] provided 2 perfect and 0 imperfect interpolant sequences [2021-09-13 23:59:22,649 INFO L186 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2021-09-13 23:59:22,649 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2, 2] imperfect sequences [] total 3 [2021-09-13 23:59:22,650 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [111104101] [2021-09-13 23:59:22,650 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 4.666666666666667) internal successors, (14), 4 states have internal predecessors, (14), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 15 [2021-09-13 23:59:22,650 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:59:22,650 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 4.666666666666667) internal successors, (14), 4 states have internal predecessors, (14), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:22,664 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:59:22,665 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2021-09-13 23:59:22,665 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2021-09-13 23:59:22,665 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2021-09-13 23:59:22,665 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2021-09-13 23:59:22,665 INFO L87 Difference]: Start difference. First operand 138 states and 146 transitions. Second operand has 4 states, 3 states have (on average 4.666666666666667) internal successors, (14), 4 states have internal predecessors, (14), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:23,226 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:23,226 INFO L93 Difference]: Finished difference Result 137 states and 144 transitions. [2021-09-13 23:59:23,226 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2021-09-13 23:59:23,226 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 4.666666666666667) internal successors, (14), 4 states have internal predecessors, (14), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 15 [2021-09-13 23:59:23,226 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:59:23,226 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 4.666666666666667) internal successors, (14), 4 states have internal predecessors, (14), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:23,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 138 transitions. [2021-09-13 23:59:23,228 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 4.666666666666667) internal successors, (14), 4 states have internal predecessors, (14), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:23,230 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 138 transitions. [2021-09-13 23:59:23,230 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 138 transitions. [2021-09-13 23:59:23,323 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 138 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:59:23,324 INFO L225 Difference]: With dead ends: 137 [2021-09-13 23:59:23,325 INFO L226 Difference]: Without dead ends: 137 [2021-09-13 23:59:23,325 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 29 GetRequests, 27 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 19.34ms TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2021-09-13 23:59:23,325 INFO L928 BasicCegarLoop]: 7 mSDtfsCounter, 24 mSDsluCounter, 235 mSDsCounter, 0 mSdLazyCounter, 246 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 262.59ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 13 SdHoareTripleChecker+Invalid, 246 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 1.00ms SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 246 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 263.80ms IncrementalHoareTripleChecker+Time [2021-09-13 23:59:23,325 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [24 Valid, 13 Invalid, 246 Unknown, 0 Unchecked, 1.00ms Time], IncrementalHoareTripleChecker [0 Valid, 246 Invalid, 0 Unknown, 0 Unchecked, 263.80ms Time] [2021-09-13 23:59:23,326 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137 states. [2021-09-13 23:59:23,329 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137 to 137. [2021-09-13 23:59:23,329 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:59:23,329 INFO L82 GeneralOperation]: Start isEquivalent. First operand 137 states. Second operand has 137 states, 79 states have (on average 1.7341772151898733) internal successors, (137), 129 states have internal predecessors, (137), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:23,330 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand has 137 states, 79 states have (on average 1.7341772151898733) internal successors, (137), 129 states have internal predecessors, (137), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:23,330 INFO L87 Difference]: Start difference. First operand 137 states. Second operand has 137 states, 79 states have (on average 1.7341772151898733) internal successors, (137), 129 states have internal predecessors, (137), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:23,332 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:23,332 INFO L93 Difference]: Finished difference Result 137 states and 144 transitions. [2021-09-13 23:59:23,333 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 144 transitions. [2021-09-13 23:59:23,333 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:59:23,333 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:59:23,333 INFO L74 IsIncluded]: Start isIncluded. First operand has 137 states, 79 states have (on average 1.7341772151898733) internal successors, (137), 129 states have internal predecessors, (137), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 137 states. [2021-09-13 23:59:23,334 INFO L87 Difference]: Start difference. First operand has 137 states, 79 states have (on average 1.7341772151898733) internal successors, (137), 129 states have internal predecessors, (137), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 137 states. [2021-09-13 23:59:23,336 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:23,336 INFO L93 Difference]: Finished difference Result 137 states and 144 transitions. [2021-09-13 23:59:23,336 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 144 transitions. [2021-09-13 23:59:23,336 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:59:23,336 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:59:23,336 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:59:23,336 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:59:23,337 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 137 states, 79 states have (on average 1.7341772151898733) internal successors, (137), 129 states have internal predecessors, (137), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:23,339 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 144 transitions. [2021-09-13 23:59:23,339 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 144 transitions. Word has length 15 [2021-09-13 23:59:23,339 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:59:23,339 INFO L470 AbstractCegarLoop]: Abstraction has 137 states and 144 transitions. [2021-09-13 23:59:23,339 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 4.666666666666667) internal successors, (14), 4 states have internal predecessors, (14), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:23,340 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 144 transitions. [2021-09-13 23:59:23,340 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2021-09-13 23:59:23,340 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:59:23,340 INFO L513 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 23:59:23,347 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (6)] Forceful destruction successful, exit code 0 [2021-09-13 23:59:23,547 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-09-13 23:59:23,547 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting dll_circular_createErr6REQUIRES_VIOLATION === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:59:23,547 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:59:23,548 INFO L82 PathProgramCache]: Analyzing trace with hash 954954032, now seen corresponding path program 1 times [2021-09-13 23:59:23,548 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-09-13 23:59:23,548 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1489011881] [2021-09-13 23:59:23,548 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:59:23,548 INFO L170 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-09-13 23:59:23,548 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-09-13 23:59:23,549 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) [2021-09-13 23:59:23,550 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (7)] Waiting until timeout for monitored process [2021-09-13 23:59:23,648 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:59:23,650 INFO L263 TraceCheckSpWp]: Trace formula consists of 74 conjuncts, 4 conjunts are in the unsatisfiable core [2021-09-13 23:59:23,659 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:59:23,662 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 23:59:23,715 INFO L388 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 [2021-09-13 23:59:23,783 INFO L354 Elim1Store]: treesize reduction 12, result has 40.0 percent of original size [2021-09-13 23:59:23,784 INFO L388 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 17 treesize of output 22 [2021-09-13 23:59:23,818 INFO L264 TraceCheckUtils]: 0: Hoare triple {3311#true} call ULTIMATE.init(); {3311#true} is VALID [2021-09-13 23:59:23,818 INFO L281 TraceCheckUtils]: 1: Hoare triple {3311#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {3311#true} is VALID [2021-09-13 23:59:23,819 INFO L281 TraceCheckUtils]: 2: Hoare triple {3311#true} assume true; {3311#true} is VALID [2021-09-13 23:59:23,819 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {3311#true} {3311#true} #223#return; {3311#true} is VALID [2021-09-13 23:59:23,819 INFO L264 TraceCheckUtils]: 4: Hoare triple {3311#true} call #t~ret13 := main(); {3311#true} is VALID [2021-09-13 23:59:23,819 INFO L281 TraceCheckUtils]: 5: Hoare triple {3311#true} ~len~0 := 3bv32; {3311#true} is VALID [2021-09-13 23:59:23,819 INFO L264 TraceCheckUtils]: 6: Hoare triple {3311#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {3311#true} is VALID [2021-09-13 23:59:23,820 INFO L281 TraceCheckUtils]: 7: Hoare triple {3311#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {3337#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} is VALID [2021-09-13 23:59:23,820 INFO L281 TraceCheckUtils]: 8: Hoare triple {3337#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {3337#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} is VALID [2021-09-13 23:59:23,821 INFO L281 TraceCheckUtils]: 9: Hoare triple {3337#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {3337#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} is VALID [2021-09-13 23:59:23,821 INFO L281 TraceCheckUtils]: 10: Hoare triple {3337#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {3337#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} is VALID [2021-09-13 23:59:23,822 INFO L281 TraceCheckUtils]: 11: Hoare triple {3337#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {3350#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} is VALID [2021-09-13 23:59:23,823 INFO L281 TraceCheckUtils]: 12: Hoare triple {3350#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {3350#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} is VALID [2021-09-13 23:59:23,823 INFO L281 TraceCheckUtils]: 13: Hoare triple {3350#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {3350#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} is VALID [2021-09-13 23:59:23,823 INFO L281 TraceCheckUtils]: 14: Hoare triple {3350#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {3350#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} is VALID [2021-09-13 23:59:23,824 INFO L281 TraceCheckUtils]: 15: Hoare triple {3350#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} assume !(1bv1 == #valid[~head~0.base]); {3312#false} is VALID [2021-09-13 23:59:23,824 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:59:23,824 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 23:59:23,935 INFO L281 TraceCheckUtils]: 15: Hoare triple {3350#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} assume !(1bv1 == #valid[~head~0.base]); {3312#false} is VALID [2021-09-13 23:59:23,936 INFO L281 TraceCheckUtils]: 14: Hoare triple {3350#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {3350#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} is VALID [2021-09-13 23:59:23,936 INFO L281 TraceCheckUtils]: 13: Hoare triple {3350#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {3350#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} is VALID [2021-09-13 23:59:23,938 INFO L281 TraceCheckUtils]: 12: Hoare triple {3350#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {3350#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} is VALID [2021-09-13 23:59:23,938 INFO L281 TraceCheckUtils]: 11: Hoare triple {3337#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {3350#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} is VALID [2021-09-13 23:59:23,938 INFO L281 TraceCheckUtils]: 10: Hoare triple {3337#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {3337#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} is VALID [2021-09-13 23:59:23,939 INFO L281 TraceCheckUtils]: 9: Hoare triple {3337#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {3337#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} is VALID [2021-09-13 23:59:23,939 INFO L281 TraceCheckUtils]: 8: Hoare triple {3337#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {3337#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} is VALID [2021-09-13 23:59:23,940 INFO L281 TraceCheckUtils]: 7: Hoare triple {3311#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {3337#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} is VALID [2021-09-13 23:59:23,940 INFO L264 TraceCheckUtils]: 6: Hoare triple {3311#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {3311#true} is VALID [2021-09-13 23:59:23,940 INFO L281 TraceCheckUtils]: 5: Hoare triple {3311#true} ~len~0 := 3bv32; {3311#true} is VALID [2021-09-13 23:59:23,940 INFO L264 TraceCheckUtils]: 4: Hoare triple {3311#true} call #t~ret13 := main(); {3311#true} is VALID [2021-09-13 23:59:23,941 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {3311#true} {3311#true} #223#return; {3311#true} is VALID [2021-09-13 23:59:23,941 INFO L281 TraceCheckUtils]: 2: Hoare triple {3311#true} assume true; {3311#true} is VALID [2021-09-13 23:59:23,941 INFO L281 TraceCheckUtils]: 1: Hoare triple {3311#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {3311#true} is VALID [2021-09-13 23:59:23,941 INFO L264 TraceCheckUtils]: 0: Hoare triple {3311#true} call ULTIMATE.init(); {3311#true} is VALID [2021-09-13 23:59:23,941 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:59:23,941 INFO L139 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2021-09-13 23:59:23,941 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1489011881] [2021-09-13 23:59:23,942 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1489011881] provided 2 perfect and 0 imperfect interpolant sequences [2021-09-13 23:59:23,942 INFO L186 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2021-09-13 23:59:23,942 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3, 3] imperfect sequences [] total 3 [2021-09-13 23:59:23,942 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [736740393] [2021-09-13 23:59:23,942 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 4.0) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 16 [2021-09-13 23:59:23,943 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:59:23,943 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 4.0) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:23,957 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:59:23,957 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2021-09-13 23:59:23,957 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2021-09-13 23:59:23,958 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2021-09-13 23:59:23,958 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2021-09-13 23:59:23,958 INFO L87 Difference]: Start difference. First operand 137 states and 144 transitions. Second operand has 4 states, 3 states have (on average 4.0) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:24,515 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:24,516 INFO L93 Difference]: Finished difference Result 138 states and 143 transitions. [2021-09-13 23:59:24,516 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2021-09-13 23:59:24,516 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 4.0) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 16 [2021-09-13 23:59:24,516 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:59:24,516 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 4.0) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:24,518 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 142 transitions. [2021-09-13 23:59:24,518 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 4.0) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:24,519 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 142 transitions. [2021-09-13 23:59:24,519 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 142 transitions. [2021-09-13 23:59:24,617 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 142 edges. 142 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:59:24,618 INFO L225 Difference]: With dead ends: 138 [2021-09-13 23:59:24,618 INFO L226 Difference]: Without dead ends: 138 [2021-09-13 23:59:24,618 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 32 GetRequests, 26 SyntacticMatches, 3 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 30.73ms TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2021-09-13 23:59:24,619 INFO L928 BasicCegarLoop]: 7 mSDtfsCounter, 22 mSDsluCounter, 282 mSDsCounter, 0 mSdLazyCounter, 365 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 267.69ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 19 SdHoareTripleChecker+Invalid, 369 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 1.72ms SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 365 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 269.72ms IncrementalHoareTripleChecker+Time [2021-09-13 23:59:24,619 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 19 Invalid, 369 Unknown, 0 Unchecked, 1.72ms Time], IncrementalHoareTripleChecker [4 Valid, 365 Invalid, 0 Unknown, 0 Unchecked, 269.72ms Time] [2021-09-13 23:59:24,619 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 138 states. [2021-09-13 23:59:24,622 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 138 to 137. [2021-09-13 23:59:24,622 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:59:24,622 INFO L82 GeneralOperation]: Start isEquivalent. First operand 138 states. Second operand has 137 states, 79 states have (on average 1.7215189873417722) internal successors, (136), 129 states have internal predecessors, (136), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:24,622 INFO L74 IsIncluded]: Start isIncluded. First operand 138 states. Second operand has 137 states, 79 states have (on average 1.7215189873417722) internal successors, (136), 129 states have internal predecessors, (136), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:24,623 INFO L87 Difference]: Start difference. First operand 138 states. Second operand has 137 states, 79 states have (on average 1.7215189873417722) internal successors, (136), 129 states have internal predecessors, (136), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:24,625 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:24,625 INFO L93 Difference]: Finished difference Result 138 states and 143 transitions. [2021-09-13 23:59:24,625 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 143 transitions. [2021-09-13 23:59:24,625 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:59:24,625 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:59:24,625 INFO L74 IsIncluded]: Start isIncluded. First operand has 137 states, 79 states have (on average 1.7215189873417722) internal successors, (136), 129 states have internal predecessors, (136), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 138 states. [2021-09-13 23:59:24,626 INFO L87 Difference]: Start difference. First operand has 137 states, 79 states have (on average 1.7215189873417722) internal successors, (136), 129 states have internal predecessors, (136), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 138 states. [2021-09-13 23:59:24,628 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:24,628 INFO L93 Difference]: Finished difference Result 138 states and 143 transitions. [2021-09-13 23:59:24,628 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 143 transitions. [2021-09-13 23:59:24,628 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:59:24,628 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:59:24,628 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:59:24,629 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:59:24,629 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 137 states, 79 states have (on average 1.7215189873417722) internal successors, (136), 129 states have internal predecessors, (136), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:24,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 143 transitions. [2021-09-13 23:59:24,631 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 143 transitions. Word has length 16 [2021-09-13 23:59:24,631 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:59:24,631 INFO L470 AbstractCegarLoop]: Abstraction has 137 states and 143 transitions. [2021-09-13 23:59:24,631 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 4.0) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:24,632 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 143 transitions. [2021-09-13 23:59:24,632 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2021-09-13 23:59:24,632 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:59:24,632 INFO L513 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 23:59:24,639 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (7)] Forceful destruction successful, exit code 0 [2021-09-13 23:59:24,838 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-09-13 23:59:24,839 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting dll_circular_createErr7REQUIRES_VIOLATION === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:59:24,840 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:59:24,840 INFO L82 PathProgramCache]: Analyzing trace with hash 954954033, now seen corresponding path program 1 times [2021-09-13 23:59:24,840 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-09-13 23:59:24,840 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [192824981] [2021-09-13 23:59:24,841 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:59:24,841 INFO L170 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-09-13 23:59:24,841 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-09-13 23:59:24,842 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) [2021-09-13 23:59:24,843 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (8)] Waiting until timeout for monitored process [2021-09-13 23:59:24,925 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:59:24,926 INFO L263 TraceCheckSpWp]: Trace formula consists of 74 conjuncts, 8 conjunts are in the unsatisfiable core [2021-09-13 23:59:24,933 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:59:24,933 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 23:59:24,965 INFO L388 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 [2021-09-13 23:59:24,970 INFO L388 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 [2021-09-13 23:59:25,123 INFO L354 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2021-09-13 23:59:25,123 INFO L388 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 27 treesize of output 29 [2021-09-13 23:59:25,130 INFO L354 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2021-09-13 23:59:25,130 INFO L388 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 26 treesize of output 26 [2021-09-13 23:59:25,279 INFO L264 TraceCheckUtils]: 0: Hoare triple {3963#true} call ULTIMATE.init(); {3963#true} is VALID [2021-09-13 23:59:25,279 INFO L281 TraceCheckUtils]: 1: Hoare triple {3963#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {3963#true} is VALID [2021-09-13 23:59:25,279 INFO L281 TraceCheckUtils]: 2: Hoare triple {3963#true} assume true; {3963#true} is VALID [2021-09-13 23:59:25,279 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {3963#true} {3963#true} #223#return; {3963#true} is VALID [2021-09-13 23:59:25,280 INFO L264 TraceCheckUtils]: 4: Hoare triple {3963#true} call #t~ret13 := main(); {3963#true} is VALID [2021-09-13 23:59:25,280 INFO L281 TraceCheckUtils]: 5: Hoare triple {3963#true} ~len~0 := 3bv32; {3963#true} is VALID [2021-09-13 23:59:25,280 INFO L264 TraceCheckUtils]: 6: Hoare triple {3963#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {3963#true} is VALID [2021-09-13 23:59:25,281 INFO L281 TraceCheckUtils]: 7: Hoare triple {3963#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {3989#(and (= (select |#length| dll_circular_create_~last~0.base) (_ bv8 32)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} is VALID [2021-09-13 23:59:25,281 INFO L281 TraceCheckUtils]: 8: Hoare triple {3989#(and (= (select |#length| dll_circular_create_~last~0.base) (_ bv8 32)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {3989#(and (= (select |#length| dll_circular_create_~last~0.base) (_ bv8 32)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} is VALID [2021-09-13 23:59:25,282 INFO L281 TraceCheckUtils]: 9: Hoare triple {3989#(and (= (select |#length| dll_circular_create_~last~0.base) (_ bv8 32)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {3989#(and (= (select |#length| dll_circular_create_~last~0.base) (_ bv8 32)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} is VALID [2021-09-13 23:59:25,283 INFO L281 TraceCheckUtils]: 10: Hoare triple {3989#(and (= (select |#length| dll_circular_create_~last~0.base) (_ bv8 32)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {3989#(and (= (select |#length| dll_circular_create_~last~0.base) (_ bv8 32)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} is VALID [2021-09-13 23:59:25,283 INFO L281 TraceCheckUtils]: 11: Hoare triple {3989#(and (= (select |#length| dll_circular_create_~last~0.base) (_ bv8 32)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {4002#(and (= (_ bv8 32) (select |#length| dll_circular_create_~head~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:25,284 INFO L281 TraceCheckUtils]: 12: Hoare triple {4002#(and (= (_ bv8 32) (select |#length| dll_circular_create_~head~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {4006#(and (= (_ bv8 32) (select |#length| dll_circular_create_~head~0.base)) (exists ((dll_circular_create_~new_head~0.base (_ BitVec 32))) (and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (= (_ bv8 32) (select |#length| dll_circular_create_~new_head~0.base)))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:25,285 INFO L281 TraceCheckUtils]: 13: Hoare triple {4006#(and (= (_ bv8 32) (select |#length| dll_circular_create_~head~0.base)) (exists ((dll_circular_create_~new_head~0.base (_ BitVec 32))) (and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (= (_ bv8 32) (select |#length| dll_circular_create_~new_head~0.base)))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {4006#(and (= (_ bv8 32) (select |#length| dll_circular_create_~head~0.base)) (exists ((dll_circular_create_~new_head~0.base (_ BitVec 32))) (and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (= (_ bv8 32) (select |#length| dll_circular_create_~new_head~0.base)))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:25,286 INFO L281 TraceCheckUtils]: 14: Hoare triple {4006#(and (= (_ bv8 32) (select |#length| dll_circular_create_~head~0.base)) (exists ((dll_circular_create_~new_head~0.base (_ BitVec 32))) (and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (= (_ bv8 32) (select |#length| dll_circular_create_~new_head~0.base)))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {4006#(and (= (_ bv8 32) (select |#length| dll_circular_create_~head~0.base)) (exists ((dll_circular_create_~new_head~0.base (_ BitVec 32))) (and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (= (_ bv8 32) (select |#length| dll_circular_create_~new_head~0.base)))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:25,286 INFO L281 TraceCheckUtils]: 15: Hoare triple {4006#(and (= (_ bv8 32) (select |#length| dll_circular_create_~head~0.base)) (exists ((dll_circular_create_~new_head~0.base (_ BitVec 32))) (and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (= (_ bv8 32) (select |#length| dll_circular_create_~new_head~0.base)))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(4bv32, ~head~0.offset)), #length[~head~0.base]) && ~bvule32(~bvadd32(4bv32, ~head~0.offset), ~bvadd32(4bv32, ~bvadd32(4bv32, ~head~0.offset)))) && ~bvule32(0bv32, ~bvadd32(4bv32, ~head~0.offset))); {3964#false} is VALID [2021-09-13 23:59:25,286 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:59:25,287 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 23:59:29,543 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_dll_circular_create_~new_head~0.base_12 (_ BitVec 32))) (or (let ((.cse0 (bvadd (_ bv8 32) c_dll_circular_create_~last~0.offset))) (and (bvule (bvadd (_ bv4 32) c_dll_circular_create_~last~0.offset) .cse0) (bvule .cse0 (select (store |c_#length| v_dll_circular_create_~new_head~0.base_12 (_ bv8 32)) c_dll_circular_create_~last~0.base)))) (not (= (_ bv0 1) (select |c_#valid| v_dll_circular_create_~new_head~0.base_12))))) is different from false [2021-09-13 23:59:29,734 INFO L281 TraceCheckUtils]: 15: Hoare triple {4016#(and (bvule (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) (bvadd dll_circular_create_~head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~head~0.offset (_ bv8 32)) (select |#length| dll_circular_create_~head~0.base)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(4bv32, ~head~0.offset)), #length[~head~0.base]) && ~bvule32(~bvadd32(4bv32, ~head~0.offset), ~bvadd32(4bv32, ~bvadd32(4bv32, ~head~0.offset)))) && ~bvule32(0bv32, ~bvadd32(4bv32, ~head~0.offset))); {3964#false} is VALID [2021-09-13 23:59:29,734 INFO L281 TraceCheckUtils]: 14: Hoare triple {4016#(and (bvule (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) (bvadd dll_circular_create_~head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~head~0.offset (_ bv8 32)) (select |#length| dll_circular_create_~head~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {4016#(and (bvule (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) (bvadd dll_circular_create_~head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~head~0.offset (_ bv8 32)) (select |#length| dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:59:29,735 INFO L281 TraceCheckUtils]: 13: Hoare triple {4016#(and (bvule (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) (bvadd dll_circular_create_~head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~head~0.offset (_ bv8 32)) (select |#length| dll_circular_create_~head~0.base)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {4016#(and (bvule (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) (bvadd dll_circular_create_~head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~head~0.offset (_ bv8 32)) (select |#length| dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:59:29,743 INFO L281 TraceCheckUtils]: 12: Hoare triple {4026#(forall ((v_dll_circular_create_~new_head~0.base_12 (_ BitVec 32))) (or (and (bvule (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) (bvadd dll_circular_create_~head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~head~0.offset (_ bv8 32)) (select (store |#length| v_dll_circular_create_~new_head~0.base_12 (_ bv8 32)) dll_circular_create_~head~0.base))) (not (= (_ bv0 1) (select |#valid| v_dll_circular_create_~new_head~0.base_12)))))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {4016#(and (bvule (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) (bvadd dll_circular_create_~head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~head~0.offset (_ bv8 32)) (select |#length| dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:59:29,744 INFO L281 TraceCheckUtils]: 11: Hoare triple {4030#(forall ((v_dll_circular_create_~new_head~0.base_12 (_ BitVec 32))) (or (and (bvule (bvadd (_ bv4 32) dll_circular_create_~last~0.offset) (bvadd (_ bv8 32) dll_circular_create_~last~0.offset)) (bvule (bvadd (_ bv8 32) dll_circular_create_~last~0.offset) (select (store |#length| v_dll_circular_create_~new_head~0.base_12 (_ bv8 32)) dll_circular_create_~last~0.base))) (not (= (_ bv0 1) (select |#valid| v_dll_circular_create_~new_head~0.base_12)))))} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {4026#(forall ((v_dll_circular_create_~new_head~0.base_12 (_ BitVec 32))) (or (and (bvule (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) (bvadd dll_circular_create_~head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~head~0.offset (_ bv8 32)) (select (store |#length| v_dll_circular_create_~new_head~0.base_12 (_ bv8 32)) dll_circular_create_~head~0.base))) (not (= (_ bv0 1) (select |#valid| v_dll_circular_create_~new_head~0.base_12)))))} is VALID [2021-09-13 23:59:29,745 INFO L281 TraceCheckUtils]: 10: Hoare triple {4030#(forall ((v_dll_circular_create_~new_head~0.base_12 (_ BitVec 32))) (or (and (bvule (bvadd (_ bv4 32) dll_circular_create_~last~0.offset) (bvadd (_ bv8 32) dll_circular_create_~last~0.offset)) (bvule (bvadd (_ bv8 32) dll_circular_create_~last~0.offset) (select (store |#length| v_dll_circular_create_~new_head~0.base_12 (_ bv8 32)) dll_circular_create_~last~0.base))) (not (= (_ bv0 1) (select |#valid| v_dll_circular_create_~new_head~0.base_12)))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {4030#(forall ((v_dll_circular_create_~new_head~0.base_12 (_ BitVec 32))) (or (and (bvule (bvadd (_ bv4 32) dll_circular_create_~last~0.offset) (bvadd (_ bv8 32) dll_circular_create_~last~0.offset)) (bvule (bvadd (_ bv8 32) dll_circular_create_~last~0.offset) (select (store |#length| v_dll_circular_create_~new_head~0.base_12 (_ bv8 32)) dll_circular_create_~last~0.base))) (not (= (_ bv0 1) (select |#valid| v_dll_circular_create_~new_head~0.base_12)))))} is VALID [2021-09-13 23:59:29,745 INFO L281 TraceCheckUtils]: 9: Hoare triple {4030#(forall ((v_dll_circular_create_~new_head~0.base_12 (_ BitVec 32))) (or (and (bvule (bvadd (_ bv4 32) dll_circular_create_~last~0.offset) (bvadd (_ bv8 32) dll_circular_create_~last~0.offset)) (bvule (bvadd (_ bv8 32) dll_circular_create_~last~0.offset) (select (store |#length| v_dll_circular_create_~new_head~0.base_12 (_ bv8 32)) dll_circular_create_~last~0.base))) (not (= (_ bv0 1) (select |#valid| v_dll_circular_create_~new_head~0.base_12)))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {4030#(forall ((v_dll_circular_create_~new_head~0.base_12 (_ BitVec 32))) (or (and (bvule (bvadd (_ bv4 32) dll_circular_create_~last~0.offset) (bvadd (_ bv8 32) dll_circular_create_~last~0.offset)) (bvule (bvadd (_ bv8 32) dll_circular_create_~last~0.offset) (select (store |#length| v_dll_circular_create_~new_head~0.base_12 (_ bv8 32)) dll_circular_create_~last~0.base))) (not (= (_ bv0 1) (select |#valid| v_dll_circular_create_~new_head~0.base_12)))))} is VALID [2021-09-13 23:59:29,746 INFO L281 TraceCheckUtils]: 8: Hoare triple {4030#(forall ((v_dll_circular_create_~new_head~0.base_12 (_ BitVec 32))) (or (and (bvule (bvadd (_ bv4 32) dll_circular_create_~last~0.offset) (bvadd (_ bv8 32) dll_circular_create_~last~0.offset)) (bvule (bvadd (_ bv8 32) dll_circular_create_~last~0.offset) (select (store |#length| v_dll_circular_create_~new_head~0.base_12 (_ bv8 32)) dll_circular_create_~last~0.base))) (not (= (_ bv0 1) (select |#valid| v_dll_circular_create_~new_head~0.base_12)))))} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {4030#(forall ((v_dll_circular_create_~new_head~0.base_12 (_ BitVec 32))) (or (and (bvule (bvadd (_ bv4 32) dll_circular_create_~last~0.offset) (bvadd (_ bv8 32) dll_circular_create_~last~0.offset)) (bvule (bvadd (_ bv8 32) dll_circular_create_~last~0.offset) (select (store |#length| v_dll_circular_create_~new_head~0.base_12 (_ bv8 32)) dll_circular_create_~last~0.base))) (not (= (_ bv0 1) (select |#valid| v_dll_circular_create_~new_head~0.base_12)))))} is VALID [2021-09-13 23:59:29,747 INFO L281 TraceCheckUtils]: 7: Hoare triple {3963#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {4030#(forall ((v_dll_circular_create_~new_head~0.base_12 (_ BitVec 32))) (or (and (bvule (bvadd (_ bv4 32) dll_circular_create_~last~0.offset) (bvadd (_ bv8 32) dll_circular_create_~last~0.offset)) (bvule (bvadd (_ bv8 32) dll_circular_create_~last~0.offset) (select (store |#length| v_dll_circular_create_~new_head~0.base_12 (_ bv8 32)) dll_circular_create_~last~0.base))) (not (= (_ bv0 1) (select |#valid| v_dll_circular_create_~new_head~0.base_12)))))} is VALID [2021-09-13 23:59:29,747 INFO L264 TraceCheckUtils]: 6: Hoare triple {3963#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {3963#true} is VALID [2021-09-13 23:59:29,748 INFO L281 TraceCheckUtils]: 5: Hoare triple {3963#true} ~len~0 := 3bv32; {3963#true} is VALID [2021-09-13 23:59:29,748 INFO L264 TraceCheckUtils]: 4: Hoare triple {3963#true} call #t~ret13 := main(); {3963#true} is VALID [2021-09-13 23:59:29,748 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {3963#true} {3963#true} #223#return; {3963#true} is VALID [2021-09-13 23:59:29,748 INFO L281 TraceCheckUtils]: 2: Hoare triple {3963#true} assume true; {3963#true} is VALID [2021-09-13 23:59:29,748 INFO L281 TraceCheckUtils]: 1: Hoare triple {3963#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {3963#true} is VALID [2021-09-13 23:59:29,748 INFO L264 TraceCheckUtils]: 0: Hoare triple {3963#true} call ULTIMATE.init(); {3963#true} is VALID [2021-09-13 23:59:29,748 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:59:29,748 INFO L139 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2021-09-13 23:59:29,749 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [192824981] [2021-09-13 23:59:29,749 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleMathsat [192824981] provided 2 perfect and 0 imperfect interpolant sequences [2021-09-13 23:59:29,749 INFO L186 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2021-09-13 23:59:29,749 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4, 4] imperfect sequences [] total 7 [2021-09-13 23:59:29,749 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [314714260] [2021-09-13 23:59:29,749 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.0) internal successors, (21), 8 states have internal predecessors, (21), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 16 [2021-09-13 23:59:29,749 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:59:29,750 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.0) internal successors, (21), 8 states have internal predecessors, (21), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:29,787 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:59:29,788 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2021-09-13 23:59:29,788 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2021-09-13 23:59:29,788 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2021-09-13 23:59:29,788 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=27, Unknown=2, NotChecked=10, Total=56 [2021-09-13 23:59:29,788 INFO L87 Difference]: Start difference. First operand 137 states and 143 transitions. Second operand has 8 states, 7 states have (on average 3.0) internal successors, (21), 8 states have internal predecessors, (21), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:30,433 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:30,433 INFO L93 Difference]: Finished difference Result 137 states and 142 transitions. [2021-09-13 23:59:30,434 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2021-09-13 23:59:30,434 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.0) internal successors, (21), 8 states have internal predecessors, (21), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 16 [2021-09-13 23:59:30,434 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:59:30,434 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.0) internal successors, (21), 8 states have internal predecessors, (21), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:30,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 141 transitions. [2021-09-13 23:59:30,435 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.0) internal successors, (21), 8 states have internal predecessors, (21), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:30,437 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 141 transitions. [2021-09-13 23:59:30,438 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 141 transitions. [2021-09-13 23:59:30,539 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 141 edges. 141 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:59:30,541 INFO L225 Difference]: With dead ends: 137 [2021-09-13 23:59:30,541 INFO L226 Difference]: Without dead ends: 137 [2021-09-13 23:59:30,541 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 25 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 4222.49ms TimeCoverageRelationStatistics Valid=29, Invalid=45, Unknown=2, NotChecked=14, Total=90 [2021-09-13 23:59:30,542 INFO L928 BasicCegarLoop]: 7 mSDtfsCounter, 1 mSDsluCounter, 421 mSDsCounter, 0 mSdLazyCounter, 247 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 252.39ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 1 SdHoareTripleChecker+Valid, 42 SdHoareTripleChecker+Invalid, 501 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 2.64ms SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 247 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 253 IncrementalHoareTripleChecker+Unchecked, 254.34ms IncrementalHoareTripleChecker+Time [2021-09-13 23:59:30,542 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [1 Valid, 42 Invalid, 501 Unknown, 0 Unchecked, 2.64ms Time], IncrementalHoareTripleChecker [1 Valid, 247 Invalid, 0 Unknown, 253 Unchecked, 254.34ms Time] [2021-09-13 23:59:30,543 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137 states. [2021-09-13 23:59:30,545 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137 to 137. [2021-09-13 23:59:30,545 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:59:30,546 INFO L82 GeneralOperation]: Start isEquivalent. First operand 137 states. Second operand has 137 states, 79 states have (on average 1.7088607594936709) internal successors, (135), 129 states have internal predecessors, (135), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:30,546 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand has 137 states, 79 states have (on average 1.7088607594936709) internal successors, (135), 129 states have internal predecessors, (135), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:30,546 INFO L87 Difference]: Start difference. First operand 137 states. Second operand has 137 states, 79 states have (on average 1.7088607594936709) internal successors, (135), 129 states have internal predecessors, (135), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:30,549 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:30,549 INFO L93 Difference]: Finished difference Result 137 states and 142 transitions. [2021-09-13 23:59:30,549 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 142 transitions. [2021-09-13 23:59:30,550 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:59:30,550 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:59:30,550 INFO L74 IsIncluded]: Start isIncluded. First operand has 137 states, 79 states have (on average 1.7088607594936709) internal successors, (135), 129 states have internal predecessors, (135), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 137 states. [2021-09-13 23:59:30,551 INFO L87 Difference]: Start difference. First operand has 137 states, 79 states have (on average 1.7088607594936709) internal successors, (135), 129 states have internal predecessors, (135), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 137 states. [2021-09-13 23:59:30,553 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:30,553 INFO L93 Difference]: Finished difference Result 137 states and 142 transitions. [2021-09-13 23:59:30,553 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 142 transitions. [2021-09-13 23:59:30,554 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:59:30,554 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:59:30,554 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:59:30,554 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:59:30,554 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 137 states, 79 states have (on average 1.7088607594936709) internal successors, (135), 129 states have internal predecessors, (135), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:30,556 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 142 transitions. [2021-09-13 23:59:30,556 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 142 transitions. Word has length 16 [2021-09-13 23:59:30,557 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:59:30,557 INFO L470 AbstractCegarLoop]: Abstraction has 137 states and 142 transitions. [2021-09-13 23:59:30,557 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.0) internal successors, (21), 8 states have internal predecessors, (21), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:30,557 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 142 transitions. [2021-09-13 23:59:30,557 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2021-09-13 23:59:30,557 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:59:30,558 INFO L513 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 23:59:30,575 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (8)] Ended with exit code 0 [2021-09-13 23:59:30,764 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-09-13 23:59:30,765 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting dll_circular_createErr6REQUIRES_VIOLATION === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:59:30,765 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:59:30,765 INFO L82 PathProgramCache]: Analyzing trace with hash -804512848, now seen corresponding path program 1 times [2021-09-13 23:59:30,765 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-09-13 23:59:30,765 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [606980446] [2021-09-13 23:59:30,765 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:59:30,766 INFO L170 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-09-13 23:59:30,766 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-09-13 23:59:30,767 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2021-09-13 23:59:30,768 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (9)] Waiting until timeout for monitored process [2021-09-13 23:59:30,854 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:59:30,856 INFO L263 TraceCheckSpWp]: Trace formula consists of 97 conjuncts, 4 conjunts are in the unsatisfiable core [2021-09-13 23:59:30,864 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:59:30,865 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 23:59:30,910 INFO L388 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 [2021-09-13 23:59:30,980 INFO L354 Elim1Store]: treesize reduction 12, result has 40.0 percent of original size [2021-09-13 23:59:30,981 INFO L388 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 16 treesize of output 21 [2021-09-13 23:59:31,019 INFO L264 TraceCheckUtils]: 0: Hoare triple {4619#true} call ULTIMATE.init(); {4619#true} is VALID [2021-09-13 23:59:31,019 INFO L281 TraceCheckUtils]: 1: Hoare triple {4619#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {4619#true} is VALID [2021-09-13 23:59:31,019 INFO L281 TraceCheckUtils]: 2: Hoare triple {4619#true} assume true; {4619#true} is VALID [2021-09-13 23:59:31,019 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {4619#true} {4619#true} #223#return; {4619#true} is VALID [2021-09-13 23:59:31,019 INFO L264 TraceCheckUtils]: 4: Hoare triple {4619#true} call #t~ret13 := main(); {4619#true} is VALID [2021-09-13 23:59:31,019 INFO L281 TraceCheckUtils]: 5: Hoare triple {4619#true} ~len~0 := 3bv32; {4619#true} is VALID [2021-09-13 23:59:31,019 INFO L264 TraceCheckUtils]: 6: Hoare triple {4619#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {4619#true} is VALID [2021-09-13 23:59:31,019 INFO L281 TraceCheckUtils]: 7: Hoare triple {4619#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {4619#true} is VALID [2021-09-13 23:59:31,019 INFO L281 TraceCheckUtils]: 8: Hoare triple {4619#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {4619#true} is VALID [2021-09-13 23:59:31,020 INFO L281 TraceCheckUtils]: 9: Hoare triple {4619#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {4619#true} is VALID [2021-09-13 23:59:31,020 INFO L281 TraceCheckUtils]: 10: Hoare triple {4619#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {4619#true} is VALID [2021-09-13 23:59:31,020 INFO L281 TraceCheckUtils]: 11: Hoare triple {4619#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {4619#true} is VALID [2021-09-13 23:59:31,021 INFO L281 TraceCheckUtils]: 12: Hoare triple {4619#true} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {4660#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:59:31,021 INFO L281 TraceCheckUtils]: 13: Hoare triple {4660#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {4660#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:59:31,022 INFO L281 TraceCheckUtils]: 14: Hoare triple {4660#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {4660#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:59:31,022 INFO L281 TraceCheckUtils]: 15: Hoare triple {4660#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {4660#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:59:31,023 INFO L281 TraceCheckUtils]: 16: Hoare triple {4660#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {4673#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} is VALID [2021-09-13 23:59:31,023 INFO L281 TraceCheckUtils]: 17: Hoare triple {4673#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {4673#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} is VALID [2021-09-13 23:59:31,024 INFO L281 TraceCheckUtils]: 18: Hoare triple {4673#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {4673#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} is VALID [2021-09-13 23:59:31,024 INFO L281 TraceCheckUtils]: 19: Hoare triple {4673#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {4673#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} is VALID [2021-09-13 23:59:31,025 INFO L281 TraceCheckUtils]: 20: Hoare triple {4673#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} assume !(1bv1 == #valid[~head~0.base]); {4620#false} is VALID [2021-09-13 23:59:31,025 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:59:31,025 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 23:59:31,148 INFO L281 TraceCheckUtils]: 20: Hoare triple {4673#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} assume !(1bv1 == #valid[~head~0.base]); {4620#false} is VALID [2021-09-13 23:59:31,148 INFO L281 TraceCheckUtils]: 19: Hoare triple {4673#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {4673#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} is VALID [2021-09-13 23:59:31,149 INFO L281 TraceCheckUtils]: 18: Hoare triple {4673#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {4673#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} is VALID [2021-09-13 23:59:31,150 INFO L281 TraceCheckUtils]: 17: Hoare triple {4673#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {4673#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} is VALID [2021-09-13 23:59:31,150 INFO L281 TraceCheckUtils]: 16: Hoare triple {4660#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {4673#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} is VALID [2021-09-13 23:59:31,151 INFO L281 TraceCheckUtils]: 15: Hoare triple {4660#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {4660#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:59:31,151 INFO L281 TraceCheckUtils]: 14: Hoare triple {4660#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {4660#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:59:31,151 INFO L281 TraceCheckUtils]: 13: Hoare triple {4660#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {4660#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:59:31,152 INFO L281 TraceCheckUtils]: 12: Hoare triple {4619#true} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {4660#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:59:31,152 INFO L281 TraceCheckUtils]: 11: Hoare triple {4619#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {4619#true} is VALID [2021-09-13 23:59:31,152 INFO L281 TraceCheckUtils]: 10: Hoare triple {4619#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {4619#true} is VALID [2021-09-13 23:59:31,152 INFO L281 TraceCheckUtils]: 9: Hoare triple {4619#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {4619#true} is VALID [2021-09-13 23:59:31,152 INFO L281 TraceCheckUtils]: 8: Hoare triple {4619#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {4619#true} is VALID [2021-09-13 23:59:31,152 INFO L281 TraceCheckUtils]: 7: Hoare triple {4619#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {4619#true} is VALID [2021-09-13 23:59:31,153 INFO L264 TraceCheckUtils]: 6: Hoare triple {4619#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {4619#true} is VALID [2021-09-13 23:59:31,153 INFO L281 TraceCheckUtils]: 5: Hoare triple {4619#true} ~len~0 := 3bv32; {4619#true} is VALID [2021-09-13 23:59:31,153 INFO L264 TraceCheckUtils]: 4: Hoare triple {4619#true} call #t~ret13 := main(); {4619#true} is VALID [2021-09-13 23:59:31,153 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {4619#true} {4619#true} #223#return; {4619#true} is VALID [2021-09-13 23:59:31,153 INFO L281 TraceCheckUtils]: 2: Hoare triple {4619#true} assume true; {4619#true} is VALID [2021-09-13 23:59:31,153 INFO L281 TraceCheckUtils]: 1: Hoare triple {4619#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {4619#true} is VALID [2021-09-13 23:59:31,153 INFO L264 TraceCheckUtils]: 0: Hoare triple {4619#true} call ULTIMATE.init(); {4619#true} is VALID [2021-09-13 23:59:31,153 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:59:31,153 INFO L139 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2021-09-13 23:59:31,153 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [606980446] [2021-09-13 23:59:31,153 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleMathsat [606980446] provided 0 perfect and 2 imperfect interpolant sequences [2021-09-13 23:59:31,153 INFO L186 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2021-09-13 23:59:31,154 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3] total 3 [2021-09-13 23:59:31,154 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [624686114] [2021-09-13 23:59:31,154 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 5.666666666666667) internal successors, (17), 4 states have internal predecessors, (17), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 21 [2021-09-13 23:59:31,154 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:59:31,154 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 5.666666666666667) internal successors, (17), 4 states have internal predecessors, (17), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:31,173 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:59:31,173 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2021-09-13 23:59:31,173 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2021-09-13 23:59:31,173 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2021-09-13 23:59:31,173 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2021-09-13 23:59:31,174 INFO L87 Difference]: Start difference. First operand 137 states and 142 transitions. Second operand has 4 states, 3 states have (on average 5.666666666666667) internal successors, (17), 4 states have internal predecessors, (17), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:31,871 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:31,871 INFO L93 Difference]: Finished difference Result 135 states and 140 transitions. [2021-09-13 23:59:31,871 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2021-09-13 23:59:31,871 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 5.666666666666667) internal successors, (17), 4 states have internal predecessors, (17), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 21 [2021-09-13 23:59:31,871 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:59:31,871 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 5.666666666666667) internal successors, (17), 4 states have internal predecessors, (17), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:31,873 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 140 transitions. [2021-09-13 23:59:31,873 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 5.666666666666667) internal successors, (17), 4 states have internal predecessors, (17), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:31,874 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 140 transitions. [2021-09-13 23:59:31,874 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 140 transitions. [2021-09-13 23:59:31,971 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 140 edges. 140 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:59:31,973 INFO L225 Difference]: With dead ends: 135 [2021-09-13 23:59:31,973 INFO L226 Difference]: Without dead ends: 135 [2021-09-13 23:59:31,973 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 42 GetRequests, 36 SyntacticMatches, 3 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 39.98ms TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2021-09-13 23:59:31,973 INFO L928 BasicCegarLoop]: 7 mSDtfsCounter, 14 mSDsluCounter, 285 mSDsCounter, 0 mSdLazyCounter, 366 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 336.60ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 19 SdHoareTripleChecker+Invalid, 369 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 2.06ms SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 366 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 338.64ms IncrementalHoareTripleChecker+Time [2021-09-13 23:59:31,973 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 19 Invalid, 369 Unknown, 0 Unchecked, 2.06ms Time], IncrementalHoareTripleChecker [3 Valid, 366 Invalid, 0 Unknown, 0 Unchecked, 338.64ms Time] [2021-09-13 23:59:31,974 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 135 states. [2021-09-13 23:59:31,975 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 135 to 135. [2021-09-13 23:59:31,976 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:59:31,976 INFO L82 GeneralOperation]: Start isEquivalent. First operand 135 states. Second operand has 135 states, 79 states have (on average 1.6835443037974684) internal successors, (133), 127 states have internal predecessors, (133), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:31,977 INFO L74 IsIncluded]: Start isIncluded. First operand 135 states. Second operand has 135 states, 79 states have (on average 1.6835443037974684) internal successors, (133), 127 states have internal predecessors, (133), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:31,977 INFO L87 Difference]: Start difference. First operand 135 states. Second operand has 135 states, 79 states have (on average 1.6835443037974684) internal successors, (133), 127 states have internal predecessors, (133), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:31,979 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:31,979 INFO L93 Difference]: Finished difference Result 135 states and 140 transitions. [2021-09-13 23:59:31,979 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 140 transitions. [2021-09-13 23:59:31,980 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:59:31,980 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:59:31,980 INFO L74 IsIncluded]: Start isIncluded. First operand has 135 states, 79 states have (on average 1.6835443037974684) internal successors, (133), 127 states have internal predecessors, (133), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 135 states. [2021-09-13 23:59:31,980 INFO L87 Difference]: Start difference. First operand has 135 states, 79 states have (on average 1.6835443037974684) internal successors, (133), 127 states have internal predecessors, (133), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 135 states. [2021-09-13 23:59:31,983 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:31,983 INFO L93 Difference]: Finished difference Result 135 states and 140 transitions. [2021-09-13 23:59:31,983 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 140 transitions. [2021-09-13 23:59:31,983 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:59:31,983 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:59:31,983 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:59:31,984 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:59:31,984 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 135 states, 79 states have (on average 1.6835443037974684) internal successors, (133), 127 states have internal predecessors, (133), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:31,986 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 135 states to 135 states and 140 transitions. [2021-09-13 23:59:31,986 INFO L78 Accepts]: Start accepts. Automaton has 135 states and 140 transitions. Word has length 21 [2021-09-13 23:59:31,987 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:59:31,987 INFO L470 AbstractCegarLoop]: Abstraction has 135 states and 140 transitions. [2021-09-13 23:59:31,987 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 5.666666666666667) internal successors, (17), 4 states have internal predecessors, (17), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:31,987 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 140 transitions. [2021-09-13 23:59:31,987 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2021-09-13 23:59:31,987 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:59:31,987 INFO L513 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-13 23:59:31,997 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (9)] Forceful destruction successful, exit code 0 [2021-09-13 23:59:32,194 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-09-13 23:59:32,194 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting dll_circular_createErr7REQUIRES_VIOLATION === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:59:32,195 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:59:32,195 INFO L82 PathProgramCache]: Analyzing trace with hash -804512847, now seen corresponding path program 1 times [2021-09-13 23:59:32,195 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-09-13 23:59:32,195 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [583132192] [2021-09-13 23:59:32,195 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:59:32,196 INFO L170 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-09-13 23:59:32,196 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-09-13 23:59:32,196 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) [2021-09-13 23:59:32,197 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (10)] Waiting until timeout for monitored process [2021-09-13 23:59:32,281 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:59:32,284 INFO L263 TraceCheckSpWp]: Trace formula consists of 97 conjuncts, 8 conjunts are in the unsatisfiable core [2021-09-13 23:59:32,291 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:59:32,292 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 23:59:32,347 INFO L388 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 [2021-09-13 23:59:32,352 INFO L388 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 [2021-09-13 23:59:32,491 INFO L354 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2021-09-13 23:59:32,491 INFO L388 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 27 treesize of output 29 [2021-09-13 23:59:32,499 INFO L354 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2021-09-13 23:59:32,499 INFO L388 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 26 treesize of output 26 [2021-09-13 23:59:32,656 INFO L264 TraceCheckUtils]: 0: Hoare triple {5290#true} call ULTIMATE.init(); {5290#true} is VALID [2021-09-13 23:59:32,656 INFO L281 TraceCheckUtils]: 1: Hoare triple {5290#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {5290#true} is VALID [2021-09-13 23:59:32,656 INFO L281 TraceCheckUtils]: 2: Hoare triple {5290#true} assume true; {5290#true} is VALID [2021-09-13 23:59:32,656 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {5290#true} {5290#true} #223#return; {5290#true} is VALID [2021-09-13 23:59:32,657 INFO L264 TraceCheckUtils]: 4: Hoare triple {5290#true} call #t~ret13 := main(); {5290#true} is VALID [2021-09-13 23:59:32,657 INFO L281 TraceCheckUtils]: 5: Hoare triple {5290#true} ~len~0 := 3bv32; {5290#true} is VALID [2021-09-13 23:59:32,657 INFO L264 TraceCheckUtils]: 6: Hoare triple {5290#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {5290#true} is VALID [2021-09-13 23:59:32,657 INFO L281 TraceCheckUtils]: 7: Hoare triple {5290#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {5290#true} is VALID [2021-09-13 23:59:32,657 INFO L281 TraceCheckUtils]: 8: Hoare triple {5290#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {5290#true} is VALID [2021-09-13 23:59:32,657 INFO L281 TraceCheckUtils]: 9: Hoare triple {5290#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {5290#true} is VALID [2021-09-13 23:59:32,657 INFO L281 TraceCheckUtils]: 10: Hoare triple {5290#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {5290#true} is VALID [2021-09-13 23:59:32,657 INFO L281 TraceCheckUtils]: 11: Hoare triple {5290#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {5290#true} is VALID [2021-09-13 23:59:32,659 INFO L281 TraceCheckUtils]: 12: Hoare triple {5290#true} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {5331#(and (= (_ bv8 32) (select |#length| dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:32,659 INFO L281 TraceCheckUtils]: 13: Hoare triple {5331#(and (= (_ bv8 32) (select |#length| dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {5331#(and (= (_ bv8 32) (select |#length| dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:32,660 INFO L281 TraceCheckUtils]: 14: Hoare triple {5331#(and (= (_ bv8 32) (select |#length| dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {5331#(and (= (_ bv8 32) (select |#length| dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:32,660 INFO L281 TraceCheckUtils]: 15: Hoare triple {5331#(and (= (_ bv8 32) (select |#length| dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {5331#(and (= (_ bv8 32) (select |#length| dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:32,661 INFO L281 TraceCheckUtils]: 16: Hoare triple {5331#(and (= (_ bv8 32) (select |#length| dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {5344#(and (= (_ bv8 32) (select |#length| dll_circular_create_~head~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:32,663 INFO L281 TraceCheckUtils]: 17: Hoare triple {5344#(and (= (_ bv8 32) (select |#length| dll_circular_create_~head~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {5348#(and (= (_ bv8 32) (select |#length| dll_circular_create_~head~0.base)) (exists ((dll_circular_create_~new_head~0.base (_ BitVec 32))) (and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (= (_ bv8 32) (select |#length| dll_circular_create_~new_head~0.base)))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:32,664 INFO L281 TraceCheckUtils]: 18: Hoare triple {5348#(and (= (_ bv8 32) (select |#length| dll_circular_create_~head~0.base)) (exists ((dll_circular_create_~new_head~0.base (_ BitVec 32))) (and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (= (_ bv8 32) (select |#length| dll_circular_create_~new_head~0.base)))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {5348#(and (= (_ bv8 32) (select |#length| dll_circular_create_~head~0.base)) (exists ((dll_circular_create_~new_head~0.base (_ BitVec 32))) (and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (= (_ bv8 32) (select |#length| dll_circular_create_~new_head~0.base)))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:32,664 INFO L281 TraceCheckUtils]: 19: Hoare triple {5348#(and (= (_ bv8 32) (select |#length| dll_circular_create_~head~0.base)) (exists ((dll_circular_create_~new_head~0.base (_ BitVec 32))) (and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (= (_ bv8 32) (select |#length| dll_circular_create_~new_head~0.base)))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {5348#(and (= (_ bv8 32) (select |#length| dll_circular_create_~head~0.base)) (exists ((dll_circular_create_~new_head~0.base (_ BitVec 32))) (and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (= (_ bv8 32) (select |#length| dll_circular_create_~new_head~0.base)))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:32,665 INFO L281 TraceCheckUtils]: 20: Hoare triple {5348#(and (= (_ bv8 32) (select |#length| dll_circular_create_~head~0.base)) (exists ((dll_circular_create_~new_head~0.base (_ BitVec 32))) (and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (= (_ bv8 32) (select |#length| dll_circular_create_~new_head~0.base)))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(4bv32, ~head~0.offset)), #length[~head~0.base]) && ~bvule32(~bvadd32(4bv32, ~head~0.offset), ~bvadd32(4bv32, ~bvadd32(4bv32, ~head~0.offset)))) && ~bvule32(0bv32, ~bvadd32(4bv32, ~head~0.offset))); {5291#false} is VALID [2021-09-13 23:59:32,665 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:59:32,665 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 23:59:35,444 INFO L281 TraceCheckUtils]: 20: Hoare triple {5358#(and (bvule (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) (bvadd dll_circular_create_~head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~head~0.offset (_ bv8 32)) (select |#length| dll_circular_create_~head~0.base)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(4bv32, ~head~0.offset)), #length[~head~0.base]) && ~bvule32(~bvadd32(4bv32, ~head~0.offset), ~bvadd32(4bv32, ~bvadd32(4bv32, ~head~0.offset)))) && ~bvule32(0bv32, ~bvadd32(4bv32, ~head~0.offset))); {5291#false} is VALID [2021-09-13 23:59:35,445 INFO L281 TraceCheckUtils]: 19: Hoare triple {5358#(and (bvule (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) (bvadd dll_circular_create_~head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~head~0.offset (_ bv8 32)) (select |#length| dll_circular_create_~head~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {5358#(and (bvule (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) (bvadd dll_circular_create_~head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~head~0.offset (_ bv8 32)) (select |#length| dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:59:35,445 INFO L281 TraceCheckUtils]: 18: Hoare triple {5358#(and (bvule (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) (bvadd dll_circular_create_~head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~head~0.offset (_ bv8 32)) (select |#length| dll_circular_create_~head~0.base)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {5358#(and (bvule (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) (bvadd dll_circular_create_~head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~head~0.offset (_ bv8 32)) (select |#length| dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:59:35,453 INFO L281 TraceCheckUtils]: 17: Hoare triple {5368#(forall ((v_dll_circular_create_~new_head~0.base_15 (_ BitVec 32))) (or (not (= (_ bv0 1) (bvneg (select |#valid| v_dll_circular_create_~new_head~0.base_15)))) (and (bvule (bvadd dll_circular_create_~head~0.offset (_ bv8 32)) (select (store |#length| v_dll_circular_create_~new_head~0.base_15 (_ bv8 32)) dll_circular_create_~head~0.base)) (bvule (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) (bvadd dll_circular_create_~head~0.offset (_ bv8 32))))))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {5358#(and (bvule (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) (bvadd dll_circular_create_~head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~head~0.offset (_ bv8 32)) (select |#length| dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:59:35,455 INFO L281 TraceCheckUtils]: 16: Hoare triple {5372#(forall ((v_dll_circular_create_~new_head~0.base_15 (_ BitVec 32))) (or (and (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv4 32)) (bvadd dll_circular_create_~new_head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv8 32)) (select (store |#length| v_dll_circular_create_~new_head~0.base_15 (_ bv8 32)) dll_circular_create_~new_head~0.base))) (not (= (_ bv0 1) (bvneg (select |#valid| v_dll_circular_create_~new_head~0.base_15))))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {5368#(forall ((v_dll_circular_create_~new_head~0.base_15 (_ BitVec 32))) (or (not (= (_ bv0 1) (bvneg (select |#valid| v_dll_circular_create_~new_head~0.base_15)))) (and (bvule (bvadd dll_circular_create_~head~0.offset (_ bv8 32)) (select (store |#length| v_dll_circular_create_~new_head~0.base_15 (_ bv8 32)) dll_circular_create_~head~0.base)) (bvule (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) (bvadd dll_circular_create_~head~0.offset (_ bv8 32))))))} is VALID [2021-09-13 23:59:35,456 INFO L281 TraceCheckUtils]: 15: Hoare triple {5372#(forall ((v_dll_circular_create_~new_head~0.base_15 (_ BitVec 32))) (or (and (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv4 32)) (bvadd dll_circular_create_~new_head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv8 32)) (select (store |#length| v_dll_circular_create_~new_head~0.base_15 (_ bv8 32)) dll_circular_create_~new_head~0.base))) (not (= (_ bv0 1) (bvneg (select |#valid| v_dll_circular_create_~new_head~0.base_15))))))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {5372#(forall ((v_dll_circular_create_~new_head~0.base_15 (_ BitVec 32))) (or (and (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv4 32)) (bvadd dll_circular_create_~new_head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv8 32)) (select (store |#length| v_dll_circular_create_~new_head~0.base_15 (_ bv8 32)) dll_circular_create_~new_head~0.base))) (not (= (_ bv0 1) (bvneg (select |#valid| v_dll_circular_create_~new_head~0.base_15))))))} is VALID [2021-09-13 23:59:35,456 INFO L281 TraceCheckUtils]: 14: Hoare triple {5372#(forall ((v_dll_circular_create_~new_head~0.base_15 (_ BitVec 32))) (or (and (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv4 32)) (bvadd dll_circular_create_~new_head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv8 32)) (select (store |#length| v_dll_circular_create_~new_head~0.base_15 (_ bv8 32)) dll_circular_create_~new_head~0.base))) (not (= (_ bv0 1) (bvneg (select |#valid| v_dll_circular_create_~new_head~0.base_15))))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {5372#(forall ((v_dll_circular_create_~new_head~0.base_15 (_ BitVec 32))) (or (and (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv4 32)) (bvadd dll_circular_create_~new_head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv8 32)) (select (store |#length| v_dll_circular_create_~new_head~0.base_15 (_ bv8 32)) dll_circular_create_~new_head~0.base))) (not (= (_ bv0 1) (bvneg (select |#valid| v_dll_circular_create_~new_head~0.base_15))))))} is VALID [2021-09-13 23:59:35,456 INFO L281 TraceCheckUtils]: 13: Hoare triple {5372#(forall ((v_dll_circular_create_~new_head~0.base_15 (_ BitVec 32))) (or (and (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv4 32)) (bvadd dll_circular_create_~new_head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv8 32)) (select (store |#length| v_dll_circular_create_~new_head~0.base_15 (_ bv8 32)) dll_circular_create_~new_head~0.base))) (not (= (_ bv0 1) (bvneg (select |#valid| v_dll_circular_create_~new_head~0.base_15))))))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {5372#(forall ((v_dll_circular_create_~new_head~0.base_15 (_ BitVec 32))) (or (and (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv4 32)) (bvadd dll_circular_create_~new_head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv8 32)) (select (store |#length| v_dll_circular_create_~new_head~0.base_15 (_ bv8 32)) dll_circular_create_~new_head~0.base))) (not (= (_ bv0 1) (bvneg (select |#valid| v_dll_circular_create_~new_head~0.base_15))))))} is VALID [2021-09-13 23:59:35,458 INFO L281 TraceCheckUtils]: 12: Hoare triple {5290#true} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {5372#(forall ((v_dll_circular_create_~new_head~0.base_15 (_ BitVec 32))) (or (and (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv4 32)) (bvadd dll_circular_create_~new_head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv8 32)) (select (store |#length| v_dll_circular_create_~new_head~0.base_15 (_ bv8 32)) dll_circular_create_~new_head~0.base))) (not (= (_ bv0 1) (bvneg (select |#valid| v_dll_circular_create_~new_head~0.base_15))))))} is VALID [2021-09-13 23:59:35,458 INFO L281 TraceCheckUtils]: 11: Hoare triple {5290#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {5290#true} is VALID [2021-09-13 23:59:35,458 INFO L281 TraceCheckUtils]: 10: Hoare triple {5290#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {5290#true} is VALID [2021-09-13 23:59:35,458 INFO L281 TraceCheckUtils]: 9: Hoare triple {5290#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {5290#true} is VALID [2021-09-13 23:59:35,458 INFO L281 TraceCheckUtils]: 8: Hoare triple {5290#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {5290#true} is VALID [2021-09-13 23:59:35,458 INFO L281 TraceCheckUtils]: 7: Hoare triple {5290#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {5290#true} is VALID [2021-09-13 23:59:35,458 INFO L264 TraceCheckUtils]: 6: Hoare triple {5290#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {5290#true} is VALID [2021-09-13 23:59:35,458 INFO L281 TraceCheckUtils]: 5: Hoare triple {5290#true} ~len~0 := 3bv32; {5290#true} is VALID [2021-09-13 23:59:35,458 INFO L264 TraceCheckUtils]: 4: Hoare triple {5290#true} call #t~ret13 := main(); {5290#true} is VALID [2021-09-13 23:59:35,458 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {5290#true} {5290#true} #223#return; {5290#true} is VALID [2021-09-13 23:59:35,459 INFO L281 TraceCheckUtils]: 2: Hoare triple {5290#true} assume true; {5290#true} is VALID [2021-09-13 23:59:35,459 INFO L281 TraceCheckUtils]: 1: Hoare triple {5290#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {5290#true} is VALID [2021-09-13 23:59:35,459 INFO L264 TraceCheckUtils]: 0: Hoare triple {5290#true} call ULTIMATE.init(); {5290#true} is VALID [2021-09-13 23:59:35,459 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:59:35,459 INFO L139 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2021-09-13 23:59:35,459 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [583132192] [2021-09-13 23:59:35,459 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleMathsat [583132192] provided 0 perfect and 2 imperfect interpolant sequences [2021-09-13 23:59:35,459 INFO L186 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2021-09-13 23:59:35,459 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 7 [2021-09-13 23:59:35,459 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1729502815] [2021-09-13 23:59:35,460 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.7142857142857144) internal successors, (26), 8 states have internal predecessors, (26), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 21 [2021-09-13 23:59:35,460 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:59:35,460 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.7142857142857144) internal successors, (26), 8 states have internal predecessors, (26), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:35,500 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:59:35,500 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2021-09-13 23:59:35,500 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2021-09-13 23:59:35,500 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2021-09-13 23:59:35,500 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=37, Unknown=1, NotChecked=0, Total=56 [2021-09-13 23:59:35,501 INFO L87 Difference]: Start difference. First operand 135 states and 140 transitions. Second operand has 8 states, 7 states have (on average 3.7142857142857144) internal successors, (26), 8 states have internal predecessors, (26), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:36,059 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:36,059 INFO L93 Difference]: Finished difference Result 133 states and 138 transitions. [2021-09-13 23:59:36,059 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2021-09-13 23:59:36,059 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.7142857142857144) internal successors, (26), 8 states have internal predecessors, (26), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 21 [2021-09-13 23:59:36,059 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:59:36,059 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.7142857142857144) internal successors, (26), 8 states have internal predecessors, (26), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:36,061 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 138 transitions. [2021-09-13 23:59:36,061 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.7142857142857144) internal successors, (26), 8 states have internal predecessors, (26), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:36,062 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 138 transitions. [2021-09-13 23:59:36,062 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 138 transitions. [2021-09-13 23:59:36,172 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 138 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:59:36,173 INFO L225 Difference]: With dead ends: 133 [2021-09-13 23:59:36,174 INFO L226 Difference]: Without dead ends: 133 [2021-09-13 23:59:36,174 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 35 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 2539.90ms TimeCoverageRelationStatistics Valid=32, Invalid=57, Unknown=1, NotChecked=0, Total=90 [2021-09-13 23:59:36,174 INFO L928 BasicCegarLoop]: 7 mSDtfsCounter, 16 mSDsluCounter, 371 mSDsCounter, 0 mSdLazyCounter, 242 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 219.51ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 31 SdHoareTripleChecker+Invalid, 490 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 2.05ms SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 242 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 246 IncrementalHoareTripleChecker+Unchecked, 221.03ms IncrementalHoareTripleChecker+Time [2021-09-13 23:59:36,174 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 31 Invalid, 490 Unknown, 0 Unchecked, 2.05ms Time], IncrementalHoareTripleChecker [2 Valid, 242 Invalid, 0 Unknown, 246 Unchecked, 221.03ms Time] [2021-09-13 23:59:36,175 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 133 states. [2021-09-13 23:59:36,176 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 133 to 133. [2021-09-13 23:59:36,177 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:59:36,177 INFO L82 GeneralOperation]: Start isEquivalent. First operand 133 states. Second operand has 133 states, 79 states have (on average 1.6582278481012658) internal successors, (131), 125 states have internal predecessors, (131), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:36,177 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand has 133 states, 79 states have (on average 1.6582278481012658) internal successors, (131), 125 states have internal predecessors, (131), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:36,178 INFO L87 Difference]: Start difference. First operand 133 states. Second operand has 133 states, 79 states have (on average 1.6582278481012658) internal successors, (131), 125 states have internal predecessors, (131), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:36,180 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:36,180 INFO L93 Difference]: Finished difference Result 133 states and 138 transitions. [2021-09-13 23:59:36,180 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 138 transitions. [2021-09-13 23:59:36,180 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:59:36,180 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:59:36,181 INFO L74 IsIncluded]: Start isIncluded. First operand has 133 states, 79 states have (on average 1.6582278481012658) internal successors, (131), 125 states have internal predecessors, (131), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 133 states. [2021-09-13 23:59:36,181 INFO L87 Difference]: Start difference. First operand has 133 states, 79 states have (on average 1.6582278481012658) internal successors, (131), 125 states have internal predecessors, (131), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 133 states. [2021-09-13 23:59:36,183 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:36,183 INFO L93 Difference]: Finished difference Result 133 states and 138 transitions. [2021-09-13 23:59:36,183 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 138 transitions. [2021-09-13 23:59:36,183 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:59:36,183 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:59:36,184 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:59:36,184 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:59:36,184 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 133 states, 79 states have (on average 1.6582278481012658) internal successors, (131), 125 states have internal predecessors, (131), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:36,186 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 138 transitions. [2021-09-13 23:59:36,187 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 138 transitions. Word has length 21 [2021-09-13 23:59:36,187 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:59:36,187 INFO L470 AbstractCegarLoop]: Abstraction has 133 states and 138 transitions. [2021-09-13 23:59:36,187 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.7142857142857144) internal successors, (26), 8 states have internal predecessors, (26), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2021-09-13 23:59:36,187 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 138 transitions. [2021-09-13 23:59:36,187 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2021-09-13 23:59:36,187 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:59:36,188 INFO L513 BasicCegarLoop]: trace histogram [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] [2021-09-13 23:59:36,210 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (10)] Forceful destruction successful, exit code 0 [2021-09-13 23:59:36,395 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-09-13 23:59:36,396 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting _destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:59:36,396 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:59:36,396 INFO L82 PathProgramCache]: Analyzing trace with hash -486193078, now seen corresponding path program 1 times [2021-09-13 23:59:36,396 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-09-13 23:59:36,397 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [2144492607] [2021-09-13 23:59:36,397 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:59:36,397 INFO L170 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-09-13 23:59:36,397 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-09-13 23:59:36,417 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) [2021-09-13 23:59:36,421 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (11)] Waiting until timeout for monitored process [2021-09-13 23:59:36,526 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:59:36,529 INFO L263 TraceCheckSpWp]: Trace formula consists of 132 conjuncts, 10 conjunts are in the unsatisfiable core [2021-09-13 23:59:36,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:59:36,540 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 23:59:36,600 INFO L388 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 [2021-09-13 23:59:36,766 INFO L264 TraceCheckUtils]: 0: Hoare triple {5959#true} call ULTIMATE.init(); {5959#true} is VALID [2021-09-13 23:59:36,766 INFO L281 TraceCheckUtils]: 1: Hoare triple {5959#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {5959#true} is VALID [2021-09-13 23:59:36,766 INFO L281 TraceCheckUtils]: 2: Hoare triple {5959#true} assume true; {5959#true} is VALID [2021-09-13 23:59:36,766 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {5959#true} {5959#true} #223#return; {5959#true} is VALID [2021-09-13 23:59:36,766 INFO L264 TraceCheckUtils]: 4: Hoare triple {5959#true} call #t~ret13 := main(); {5959#true} is VALID [2021-09-13 23:59:36,766 INFO L281 TraceCheckUtils]: 5: Hoare triple {5959#true} ~len~0 := 3bv32; {5959#true} is VALID [2021-09-13 23:59:36,766 INFO L264 TraceCheckUtils]: 6: Hoare triple {5959#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {5959#true} is VALID [2021-09-13 23:59:36,766 INFO L281 TraceCheckUtils]: 7: Hoare triple {5959#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {5959#true} is VALID [2021-09-13 23:59:36,767 INFO L281 TraceCheckUtils]: 8: Hoare triple {5959#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {5959#true} is VALID [2021-09-13 23:59:36,767 INFO L281 TraceCheckUtils]: 9: Hoare triple {5959#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {5959#true} is VALID [2021-09-13 23:59:36,767 INFO L281 TraceCheckUtils]: 10: Hoare triple {5959#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {5959#true} is VALID [2021-09-13 23:59:36,767 INFO L281 TraceCheckUtils]: 11: Hoare triple {5959#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {5959#true} is VALID [2021-09-13 23:59:36,767 INFO L281 TraceCheckUtils]: 12: Hoare triple {5959#true} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {5959#true} is VALID [2021-09-13 23:59:36,767 INFO L281 TraceCheckUtils]: 13: Hoare triple {5959#true} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {5959#true} is VALID [2021-09-13 23:59:36,767 INFO L281 TraceCheckUtils]: 14: Hoare triple {5959#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {5959#true} is VALID [2021-09-13 23:59:36,767 INFO L281 TraceCheckUtils]: 15: Hoare triple {5959#true} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {5959#true} is VALID [2021-09-13 23:59:36,767 INFO L281 TraceCheckUtils]: 16: Hoare triple {5959#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {5959#true} is VALID [2021-09-13 23:59:36,768 INFO L281 TraceCheckUtils]: 17: Hoare triple {5959#true} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {6015#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:59:36,769 INFO L281 TraceCheckUtils]: 18: Hoare triple {6015#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {6015#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:59:36,769 INFO L281 TraceCheckUtils]: 19: Hoare triple {6015#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {6015#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:59:36,769 INFO L281 TraceCheckUtils]: 20: Hoare triple {6015#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {6015#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:59:36,770 INFO L281 TraceCheckUtils]: 21: Hoare triple {6015#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {6028#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} is VALID [2021-09-13 23:59:36,770 INFO L281 TraceCheckUtils]: 22: Hoare triple {6028#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} assume !~bvsgt32(~len, 1bv32); {6028#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} is VALID [2021-09-13 23:59:36,771 INFO L281 TraceCheckUtils]: 23: Hoare triple {6028#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {6028#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} is VALID [2021-09-13 23:59:36,771 INFO L281 TraceCheckUtils]: 24: Hoare triple {6028#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {6028#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} is VALID [2021-09-13 23:59:36,771 INFO L281 TraceCheckUtils]: 25: Hoare triple {6028#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {6041#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| |dll_circular_create_#res.base|)))) (_ bv1 1)))} is VALID [2021-09-13 23:59:36,772 INFO L281 TraceCheckUtils]: 26: Hoare triple {6041#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| |dll_circular_create_#res.base|)))) (_ bv1 1)))} assume true; {6041#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| |dll_circular_create_#res.base|)))) (_ bv1 1)))} is VALID [2021-09-13 23:59:36,773 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {6041#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| |dll_circular_create_#res.base|)))) (_ bv1 1)))} {5959#true} #219#return; {6048#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |main_#t~ret12.base|)))))) (_ bv1 1)))} is VALID [2021-09-13 23:59:36,773 INFO L281 TraceCheckUtils]: 28: Hoare triple {6048#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |main_#t~ret12.base|)))))) (_ bv1 1)))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {6052#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| main_~head~1.base))))))) (_ bv1 1)))} is VALID [2021-09-13 23:59:36,774 INFO L264 TraceCheckUtils]: 29: Hoare triple {6052#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| main_~head~1.base))))))) (_ bv1 1)))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {6056#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |_destroy_in_nondeterministic_order_#in~head.base|)))))))) (_ bv1 1)))} is VALID [2021-09-13 23:59:36,774 INFO L281 TraceCheckUtils]: 30: Hoare triple {6056#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |_destroy_in_nondeterministic_order_#in~head.base|)))))))) (_ bv1 1)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {6060#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1)))} is VALID [2021-09-13 23:59:36,775 INFO L281 TraceCheckUtils]: 31: Hoare triple {6060#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1)))} assume !(1bv1 == #valid[~head.base]); {5960#false} is VALID [2021-09-13 23:59:36,775 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2021-09-13 23:59:36,775 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 23:59:37,037 INFO L281 TraceCheckUtils]: 31: Hoare triple {6060#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1)))} assume !(1bv1 == #valid[~head.base]); {5960#false} is VALID [2021-09-13 23:59:37,038 INFO L281 TraceCheckUtils]: 30: Hoare triple {6056#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |_destroy_in_nondeterministic_order_#in~head.base|)))))))) (_ bv1 1)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {6060#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1)))} is VALID [2021-09-13 23:59:37,039 INFO L264 TraceCheckUtils]: 29: Hoare triple {6052#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| main_~head~1.base))))))) (_ bv1 1)))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {6056#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |_destroy_in_nondeterministic_order_#in~head.base|)))))))) (_ bv1 1)))} is VALID [2021-09-13 23:59:37,039 INFO L281 TraceCheckUtils]: 28: Hoare triple {6048#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |main_#t~ret12.base|)))))) (_ bv1 1)))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {6052#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| main_~head~1.base))))))) (_ bv1 1)))} is VALID [2021-09-13 23:59:37,040 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {6041#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| |dll_circular_create_#res.base|)))) (_ bv1 1)))} {5959#true} #219#return; {6048#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |main_#t~ret12.base|)))))) (_ bv1 1)))} is VALID [2021-09-13 23:59:37,040 INFO L281 TraceCheckUtils]: 26: Hoare triple {6041#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| |dll_circular_create_#res.base|)))) (_ bv1 1)))} assume true; {6041#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| |dll_circular_create_#res.base|)))) (_ bv1 1)))} is VALID [2021-09-13 23:59:37,041 INFO L281 TraceCheckUtils]: 25: Hoare triple {6028#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {6041#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| |dll_circular_create_#res.base|)))) (_ bv1 1)))} is VALID [2021-09-13 23:59:37,041 INFO L281 TraceCheckUtils]: 24: Hoare triple {6028#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {6028#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} is VALID [2021-09-13 23:59:37,041 INFO L281 TraceCheckUtils]: 23: Hoare triple {6028#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {6028#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} is VALID [2021-09-13 23:59:37,042 INFO L281 TraceCheckUtils]: 22: Hoare triple {6028#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} assume !~bvsgt32(~len, 1bv32); {6028#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} is VALID [2021-09-13 23:59:37,042 INFO L281 TraceCheckUtils]: 21: Hoare triple {6015#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {6028#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))} is VALID [2021-09-13 23:59:37,042 INFO L281 TraceCheckUtils]: 20: Hoare triple {6015#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {6015#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:59:37,043 INFO L281 TraceCheckUtils]: 19: Hoare triple {6015#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {6015#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:59:37,043 INFO L281 TraceCheckUtils]: 18: Hoare triple {6015#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {6015#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:59:37,044 INFO L281 TraceCheckUtils]: 17: Hoare triple {5959#true} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {6015#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:59:37,044 INFO L281 TraceCheckUtils]: 16: Hoare triple {5959#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {5959#true} is VALID [2021-09-13 23:59:37,044 INFO L281 TraceCheckUtils]: 15: Hoare triple {5959#true} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {5959#true} is VALID [2021-09-13 23:59:37,044 INFO L281 TraceCheckUtils]: 14: Hoare triple {5959#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {5959#true} is VALID [2021-09-13 23:59:37,045 INFO L281 TraceCheckUtils]: 13: Hoare triple {5959#true} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {5959#true} is VALID [2021-09-13 23:59:37,045 INFO L281 TraceCheckUtils]: 12: Hoare triple {5959#true} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {5959#true} is VALID [2021-09-13 23:59:37,045 INFO L281 TraceCheckUtils]: 11: Hoare triple {5959#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {5959#true} is VALID [2021-09-13 23:59:37,045 INFO L281 TraceCheckUtils]: 10: Hoare triple {5959#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {5959#true} is VALID [2021-09-13 23:59:37,045 INFO L281 TraceCheckUtils]: 9: Hoare triple {5959#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {5959#true} is VALID [2021-09-13 23:59:37,045 INFO L281 TraceCheckUtils]: 8: Hoare triple {5959#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {5959#true} is VALID [2021-09-13 23:59:37,045 INFO L281 TraceCheckUtils]: 7: Hoare triple {5959#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {5959#true} is VALID [2021-09-13 23:59:37,045 INFO L264 TraceCheckUtils]: 6: Hoare triple {5959#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {5959#true} is VALID [2021-09-13 23:59:37,045 INFO L281 TraceCheckUtils]: 5: Hoare triple {5959#true} ~len~0 := 3bv32; {5959#true} is VALID [2021-09-13 23:59:37,045 INFO L264 TraceCheckUtils]: 4: Hoare triple {5959#true} call #t~ret13 := main(); {5959#true} is VALID [2021-09-13 23:59:37,045 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {5959#true} {5959#true} #223#return; {5959#true} is VALID [2021-09-13 23:59:37,045 INFO L281 TraceCheckUtils]: 2: Hoare triple {5959#true} assume true; {5959#true} is VALID [2021-09-13 23:59:37,045 INFO L281 TraceCheckUtils]: 1: Hoare triple {5959#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {5959#true} is VALID [2021-09-13 23:59:37,045 INFO L264 TraceCheckUtils]: 0: Hoare triple {5959#true} call ULTIMATE.init(); {5959#true} is VALID [2021-09-13 23:59:37,046 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2021-09-13 23:59:37,046 INFO L139 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2021-09-13 23:59:37,046 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [2144492607] [2021-09-13 23:59:37,046 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleMathsat [2144492607] provided 2 perfect and 0 imperfect interpolant sequences [2021-09-13 23:59:37,046 INFO L186 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2021-09-13 23:59:37,046 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8, 8] imperfect sequences [] total 8 [2021-09-13 23:59:37,046 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1491275344] [2021-09-13 23:59:37,046 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 7 states have (on average 3.7142857142857144) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 32 [2021-09-13 23:59:37,047 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:59:37,047 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 7 states have (on average 3.7142857142857144) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:59:37,075 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:59:37,075 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2021-09-13 23:59:37,075 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2021-09-13 23:59:37,075 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2021-09-13 23:59:37,075 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=57, Unknown=0, NotChecked=0, Total=72 [2021-09-13 23:59:37,075 INFO L87 Difference]: Start difference. First operand 133 states and 138 transitions. Second operand has 9 states, 7 states have (on average 3.7142857142857144) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:59:39,002 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:39,002 INFO L93 Difference]: Finished difference Result 130 states and 135 transitions. [2021-09-13 23:59:39,002 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2021-09-13 23:59:39,002 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 7 states have (on average 3.7142857142857144) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 32 [2021-09-13 23:59:39,002 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:59:39,002 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 7 states have (on average 3.7142857142857144) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:59:39,004 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 136 transitions. [2021-09-13 23:59:39,004 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 7 states have (on average 3.7142857142857144) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:59:39,009 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 136 transitions. [2021-09-13 23:59:39,009 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 136 transitions. [2021-09-13 23:59:39,106 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 136 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:59:39,107 INFO L225 Difference]: With dead ends: 130 [2021-09-13 23:59:39,107 INFO L226 Difference]: Without dead ends: 130 [2021-09-13 23:59:39,107 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 50 SyntacticMatches, 7 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 132.41ms TimeCoverageRelationStatistics Valid=29, Invalid=103, Unknown=0, NotChecked=0, Total=132 [2021-09-13 23:59:39,108 INFO L928 BasicCegarLoop]: 7 mSDtfsCounter, 58 mSDsluCounter, 607 mSDsCounter, 0 mSdLazyCounter, 943 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 925.45ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 58 SdHoareTripleChecker+Valid, 41 SdHoareTripleChecker+Invalid, 948 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 4.34ms SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 943 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 929.97ms IncrementalHoareTripleChecker+Time [2021-09-13 23:59:39,108 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [58 Valid, 41 Invalid, 948 Unknown, 0 Unchecked, 4.34ms Time], IncrementalHoareTripleChecker [5 Valid, 943 Invalid, 0 Unknown, 0 Unchecked, 929.97ms Time] [2021-09-13 23:59:39,108 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2021-09-13 23:59:39,110 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 130. [2021-09-13 23:59:39,110 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:59:39,110 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand has 130 states, 79 states have (on average 1.620253164556962) internal successors, (128), 122 states have internal predecessors, (128), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:39,110 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand has 130 states, 79 states have (on average 1.620253164556962) internal successors, (128), 122 states have internal predecessors, (128), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:39,110 INFO L87 Difference]: Start difference. First operand 130 states. Second operand has 130 states, 79 states have (on average 1.620253164556962) internal successors, (128), 122 states have internal predecessors, (128), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:39,112 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:39,112 INFO L93 Difference]: Finished difference Result 130 states and 135 transitions. [2021-09-13 23:59:39,113 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 135 transitions. [2021-09-13 23:59:39,113 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:59:39,113 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:59:39,115 INFO L74 IsIncluded]: Start isIncluded. First operand has 130 states, 79 states have (on average 1.620253164556962) internal successors, (128), 122 states have internal predecessors, (128), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 130 states. [2021-09-13 23:59:39,116 INFO L87 Difference]: Start difference. First operand has 130 states, 79 states have (on average 1.620253164556962) internal successors, (128), 122 states have internal predecessors, (128), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 130 states. [2021-09-13 23:59:39,118 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:39,118 INFO L93 Difference]: Finished difference Result 130 states and 135 transitions. [2021-09-13 23:59:39,118 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 135 transitions. [2021-09-13 23:59:39,118 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:59:39,118 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:59:39,118 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:59:39,118 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:59:39,119 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 130 states, 79 states have (on average 1.620253164556962) internal successors, (128), 122 states have internal predecessors, (128), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:39,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 130 states to 130 states and 135 transitions. [2021-09-13 23:59:39,121 INFO L78 Accepts]: Start accepts. Automaton has 130 states and 135 transitions. Word has length 32 [2021-09-13 23:59:39,121 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:59:39,121 INFO L470 AbstractCegarLoop]: Abstraction has 130 states and 135 transitions. [2021-09-13 23:59:39,121 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 7 states have (on average 3.7142857142857144) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2021-09-13 23:59:39,122 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 135 transitions. [2021-09-13 23:59:39,123 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2021-09-13 23:59:39,123 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:59:39,123 INFO L513 BasicCegarLoop]: trace histogram [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] [2021-09-13 23:59:39,134 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (11)] Forceful destruction successful, exit code 0 [2021-09-13 23:59:39,330 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-09-13 23:59:39,331 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:59:39,331 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:59:39,331 INFO L82 PathProgramCache]: Analyzing trace with hash -486193077, now seen corresponding path program 1 times [2021-09-13 23:59:39,332 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-09-13 23:59:39,332 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [909588060] [2021-09-13 23:59:39,332 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:59:39,332 INFO L170 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-09-13 23:59:39,332 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-09-13 23:59:39,333 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) [2021-09-13 23:59:39,334 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (12)] Waiting until timeout for monitored process [2021-09-13 23:59:39,433 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:59:39,438 INFO L263 TraceCheckSpWp]: Trace formula consists of 132 conjuncts, 15 conjunts are in the unsatisfiable core [2021-09-13 23:59:39,457 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:59:39,458 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 23:59:39,512 INFO L388 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 [2021-09-13 23:59:39,780 INFO L264 TraceCheckUtils]: 0: Hoare triple {6686#true} call ULTIMATE.init(); {6686#true} is VALID [2021-09-13 23:59:39,780 INFO L281 TraceCheckUtils]: 1: Hoare triple {6686#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {6686#true} is VALID [2021-09-13 23:59:39,780 INFO L281 TraceCheckUtils]: 2: Hoare triple {6686#true} assume true; {6686#true} is VALID [2021-09-13 23:59:39,781 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {6686#true} {6686#true} #223#return; {6686#true} is VALID [2021-09-13 23:59:39,781 INFO L264 TraceCheckUtils]: 4: Hoare triple {6686#true} call #t~ret13 := main(); {6686#true} is VALID [2021-09-13 23:59:39,781 INFO L281 TraceCheckUtils]: 5: Hoare triple {6686#true} ~len~0 := 3bv32; {6686#true} is VALID [2021-09-13 23:59:39,781 INFO L264 TraceCheckUtils]: 6: Hoare triple {6686#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {6686#true} is VALID [2021-09-13 23:59:39,781 INFO L281 TraceCheckUtils]: 7: Hoare triple {6686#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {6686#true} is VALID [2021-09-13 23:59:39,781 INFO L281 TraceCheckUtils]: 8: Hoare triple {6686#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {6686#true} is VALID [2021-09-13 23:59:39,781 INFO L281 TraceCheckUtils]: 9: Hoare triple {6686#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {6686#true} is VALID [2021-09-13 23:59:39,781 INFO L281 TraceCheckUtils]: 10: Hoare triple {6686#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {6686#true} is VALID [2021-09-13 23:59:39,781 INFO L281 TraceCheckUtils]: 11: Hoare triple {6686#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {6686#true} is VALID [2021-09-13 23:59:39,781 INFO L281 TraceCheckUtils]: 12: Hoare triple {6686#true} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {6686#true} is VALID [2021-09-13 23:59:39,781 INFO L281 TraceCheckUtils]: 13: Hoare triple {6686#true} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {6686#true} is VALID [2021-09-13 23:59:39,781 INFO L281 TraceCheckUtils]: 14: Hoare triple {6686#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {6686#true} is VALID [2021-09-13 23:59:39,781 INFO L281 TraceCheckUtils]: 15: Hoare triple {6686#true} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {6686#true} is VALID [2021-09-13 23:59:39,782 INFO L281 TraceCheckUtils]: 16: Hoare triple {6686#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {6686#true} is VALID [2021-09-13 23:59:39,783 INFO L281 TraceCheckUtils]: 17: Hoare triple {6686#true} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {6742#(and (= (_ bv8 32) (select |#length| dll_circular_create_~new_head~0.base)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:39,783 INFO L281 TraceCheckUtils]: 18: Hoare triple {6742#(and (= (_ bv8 32) (select |#length| dll_circular_create_~new_head~0.base)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {6742#(and (= (_ bv8 32) (select |#length| dll_circular_create_~new_head~0.base)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:39,784 INFO L281 TraceCheckUtils]: 19: Hoare triple {6742#(and (= (_ bv8 32) (select |#length| dll_circular_create_~new_head~0.base)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {6742#(and (= (_ bv8 32) (select |#length| dll_circular_create_~new_head~0.base)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:39,784 INFO L281 TraceCheckUtils]: 20: Hoare triple {6742#(and (= (_ bv8 32) (select |#length| dll_circular_create_~new_head~0.base)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {6742#(and (= (_ bv8 32) (select |#length| dll_circular_create_~new_head~0.base)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:39,785 INFO L281 TraceCheckUtils]: 21: Hoare triple {6742#(and (= (_ bv8 32) (select |#length| dll_circular_create_~new_head~0.base)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {6755#(and (= (_ bv8 32) (select |#length| dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:39,785 INFO L281 TraceCheckUtils]: 22: Hoare triple {6755#(and (= (_ bv8 32) (select |#length| dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)))} assume !~bvsgt32(~len, 1bv32); {6755#(and (= (_ bv8 32) (select |#length| dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:39,785 INFO L281 TraceCheckUtils]: 23: Hoare triple {6755#(and (= (_ bv8 32) (select |#length| dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {6755#(and (= (_ bv8 32) (select |#length| dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:39,786 INFO L281 TraceCheckUtils]: 24: Hoare triple {6755#(and (= (_ bv8 32) (select |#length| dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {6755#(and (= (_ bv8 32) (select |#length| dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:39,786 INFO L281 TraceCheckUtils]: 25: Hoare triple {6755#(and (= (_ bv8 32) (select |#length| dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {6768#(and (= (_ bv8 32) (select |#length| |dll_circular_create_#res.base|)) (= |dll_circular_create_#res.offset| (_ bv0 32)))} is VALID [2021-09-13 23:59:39,787 INFO L281 TraceCheckUtils]: 26: Hoare triple {6768#(and (= (_ bv8 32) (select |#length| |dll_circular_create_#res.base|)) (= |dll_circular_create_#res.offset| (_ bv0 32)))} assume true; {6768#(and (= (_ bv8 32) (select |#length| |dll_circular_create_#res.base|)) (= |dll_circular_create_#res.offset| (_ bv0 32)))} is VALID [2021-09-13 23:59:39,787 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {6768#(and (= (_ bv8 32) (select |#length| |dll_circular_create_#res.base|)) (= |dll_circular_create_#res.offset| (_ bv0 32)))} {6686#true} #219#return; {6775#(and (= (_ bv8 32) (select |#length| |main_#t~ret12.base|)) (= |main_#t~ret12.offset| (_ bv0 32)))} is VALID [2021-09-13 23:59:39,789 INFO L281 TraceCheckUtils]: 28: Hoare triple {6775#(and (= (_ bv8 32) (select |#length| |main_#t~ret12.base|)) (= |main_#t~ret12.offset| (_ bv0 32)))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {6779#(and (= main_~head~1.offset (_ bv0 32)) (= (select |#length| main_~head~1.base) (_ bv8 32)))} is VALID [2021-09-13 23:59:39,790 INFO L264 TraceCheckUtils]: 29: Hoare triple {6779#(and (= main_~head~1.offset (_ bv0 32)) (= (select |#length| main_~head~1.base) (_ bv8 32)))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {6783#(and (= (select |#length| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv8 32)) (= |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv0 32)))} is VALID [2021-09-13 23:59:39,795 INFO L281 TraceCheckUtils]: 30: Hoare triple {6783#(and (= (select |#length| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv8 32)) (= |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv0 32)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {6787#(and (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| _destroy_in_nondeterministic_order_~head.base)))} is VALID [2021-09-13 23:59:39,796 INFO L281 TraceCheckUtils]: 31: Hoare triple {6787#(and (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| _destroy_in_nondeterministic_order_~head.base)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(4bv32, ~head.offset)), #length[~head.base]) && ~bvule32(~bvadd32(4bv32, ~head.offset), ~bvadd32(4bv32, ~bvadd32(4bv32, ~head.offset)))) && ~bvule32(0bv32, ~bvadd32(4bv32, ~head.offset))); {6687#false} is VALID [2021-09-13 23:59:39,797 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2021-09-13 23:59:39,797 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 23:59:40,532 INFO L281 TraceCheckUtils]: 31: Hoare triple {6791#(and (bvule (bvadd (_ bv8 32) _destroy_in_nondeterministic_order_~head.offset) (select |#length| _destroy_in_nondeterministic_order_~head.base)) (bvule (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset) (bvadd (_ bv8 32) _destroy_in_nondeterministic_order_~head.offset)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(4bv32, ~head.offset)), #length[~head.base]) && ~bvule32(~bvadd32(4bv32, ~head.offset), ~bvadd32(4bv32, ~bvadd32(4bv32, ~head.offset)))) && ~bvule32(0bv32, ~bvadd32(4bv32, ~head.offset))); {6687#false} is VALID [2021-09-13 23:59:40,533 INFO L281 TraceCheckUtils]: 30: Hoare triple {6795#(and (bvule (bvadd |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv8 32)) (select |#length| |_destroy_in_nondeterministic_order_#in~head.base|)) (bvule (bvadd |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv4 32)) (bvadd |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv8 32))))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {6791#(and (bvule (bvadd (_ bv8 32) _destroy_in_nondeterministic_order_~head.offset) (select |#length| _destroy_in_nondeterministic_order_~head.base)) (bvule (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset) (bvadd (_ bv8 32) _destroy_in_nondeterministic_order_~head.offset)))} is VALID [2021-09-13 23:59:40,534 INFO L264 TraceCheckUtils]: 29: Hoare triple {6799#(and (bvule (bvadd (_ bv4 32) main_~head~1.offset) (bvadd main_~head~1.offset (_ bv8 32))) (bvule (bvadd main_~head~1.offset (_ bv8 32)) (select |#length| main_~head~1.base)))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {6795#(and (bvule (bvadd |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv8 32)) (select |#length| |_destroy_in_nondeterministic_order_#in~head.base|)) (bvule (bvadd |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv4 32)) (bvadd |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv8 32))))} is VALID [2021-09-13 23:59:40,536 INFO L281 TraceCheckUtils]: 28: Hoare triple {6803#(and (bvule (bvadd (_ bv4 32) |main_#t~ret12.offset|) (bvadd (_ bv8 32) |main_#t~ret12.offset|)) (bvule (bvadd (_ bv8 32) |main_#t~ret12.offset|) (select |#length| |main_#t~ret12.base|)))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {6799#(and (bvule (bvadd (_ bv4 32) main_~head~1.offset) (bvadd main_~head~1.offset (_ bv8 32))) (bvule (bvadd main_~head~1.offset (_ bv8 32)) (select |#length| main_~head~1.base)))} is VALID [2021-09-13 23:59:40,537 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {6810#(and (bvule (bvadd |dll_circular_create_#res.offset| (_ bv8 32)) (select |#length| |dll_circular_create_#res.base|)) (bvule (bvadd |dll_circular_create_#res.offset| (_ bv4 32)) (bvadd |dll_circular_create_#res.offset| (_ bv8 32))))} {6686#true} #219#return; {6803#(and (bvule (bvadd (_ bv4 32) |main_#t~ret12.offset|) (bvadd (_ bv8 32) |main_#t~ret12.offset|)) (bvule (bvadd (_ bv8 32) |main_#t~ret12.offset|) (select |#length| |main_#t~ret12.base|)))} is VALID [2021-09-13 23:59:40,538 INFO L281 TraceCheckUtils]: 26: Hoare triple {6810#(and (bvule (bvadd |dll_circular_create_#res.offset| (_ bv8 32)) (select |#length| |dll_circular_create_#res.base|)) (bvule (bvadd |dll_circular_create_#res.offset| (_ bv4 32)) (bvadd |dll_circular_create_#res.offset| (_ bv8 32))))} assume true; {6810#(and (bvule (bvadd |dll_circular_create_#res.offset| (_ bv8 32)) (select |#length| |dll_circular_create_#res.base|)) (bvule (bvadd |dll_circular_create_#res.offset| (_ bv4 32)) (bvadd |dll_circular_create_#res.offset| (_ bv8 32))))} is VALID [2021-09-13 23:59:40,569 INFO L281 TraceCheckUtils]: 25: Hoare triple {6817#(and (bvule (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) (bvadd dll_circular_create_~head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~head~0.offset (_ bv8 32)) (select |#length| dll_circular_create_~head~0.base)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {6810#(and (bvule (bvadd |dll_circular_create_#res.offset| (_ bv8 32)) (select |#length| |dll_circular_create_#res.base|)) (bvule (bvadd |dll_circular_create_#res.offset| (_ bv4 32)) (bvadd |dll_circular_create_#res.offset| (_ bv8 32))))} is VALID [2021-09-13 23:59:40,570 INFO L281 TraceCheckUtils]: 24: Hoare triple {6817#(and (bvule (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) (bvadd dll_circular_create_~head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~head~0.offset (_ bv8 32)) (select |#length| dll_circular_create_~head~0.base)))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {6817#(and (bvule (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) (bvadd dll_circular_create_~head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~head~0.offset (_ bv8 32)) (select |#length| dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:59:40,571 INFO L281 TraceCheckUtils]: 23: Hoare triple {6817#(and (bvule (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) (bvadd dll_circular_create_~head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~head~0.offset (_ bv8 32)) (select |#length| dll_circular_create_~head~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {6817#(and (bvule (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) (bvadd dll_circular_create_~head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~head~0.offset (_ bv8 32)) (select |#length| dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:59:40,571 INFO L281 TraceCheckUtils]: 22: Hoare triple {6817#(and (bvule (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) (bvadd dll_circular_create_~head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~head~0.offset (_ bv8 32)) (select |#length| dll_circular_create_~head~0.base)))} assume !~bvsgt32(~len, 1bv32); {6817#(and (bvule (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) (bvadd dll_circular_create_~head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~head~0.offset (_ bv8 32)) (select |#length| dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:59:40,572 INFO L281 TraceCheckUtils]: 21: Hoare triple {6830#(and (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv4 32)) (bvadd dll_circular_create_~new_head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv8 32)) (select |#length| dll_circular_create_~new_head~0.base)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {6817#(and (bvule (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) (bvadd dll_circular_create_~head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~head~0.offset (_ bv8 32)) (select |#length| dll_circular_create_~head~0.base)))} is VALID [2021-09-13 23:59:40,572 INFO L281 TraceCheckUtils]: 20: Hoare triple {6830#(and (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv4 32)) (bvadd dll_circular_create_~new_head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv8 32)) (select |#length| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {6830#(and (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv4 32)) (bvadd dll_circular_create_~new_head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv8 32)) (select |#length| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:59:40,573 INFO L281 TraceCheckUtils]: 19: Hoare triple {6830#(and (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv4 32)) (bvadd dll_circular_create_~new_head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv8 32)) (select |#length| dll_circular_create_~new_head~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {6830#(and (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv4 32)) (bvadd dll_circular_create_~new_head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv8 32)) (select |#length| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:59:40,574 INFO L281 TraceCheckUtils]: 18: Hoare triple {6830#(and (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv4 32)) (bvadd dll_circular_create_~new_head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv8 32)) (select |#length| dll_circular_create_~new_head~0.base)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {6830#(and (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv4 32)) (bvadd dll_circular_create_~new_head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv8 32)) (select |#length| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:59:40,575 INFO L281 TraceCheckUtils]: 17: Hoare triple {6686#true} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {6830#(and (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv4 32)) (bvadd dll_circular_create_~new_head~0.offset (_ bv8 32))) (bvule (bvadd dll_circular_create_~new_head~0.offset (_ bv8 32)) (select |#length| dll_circular_create_~new_head~0.base)))} is VALID [2021-09-13 23:59:40,575 INFO L281 TraceCheckUtils]: 16: Hoare triple {6686#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {6686#true} is VALID [2021-09-13 23:59:40,575 INFO L281 TraceCheckUtils]: 15: Hoare triple {6686#true} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {6686#true} is VALID [2021-09-13 23:59:40,575 INFO L281 TraceCheckUtils]: 14: Hoare triple {6686#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {6686#true} is VALID [2021-09-13 23:59:40,575 INFO L281 TraceCheckUtils]: 13: Hoare triple {6686#true} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {6686#true} is VALID [2021-09-13 23:59:40,575 INFO L281 TraceCheckUtils]: 12: Hoare triple {6686#true} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {6686#true} is VALID [2021-09-13 23:59:40,575 INFO L281 TraceCheckUtils]: 11: Hoare triple {6686#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {6686#true} is VALID [2021-09-13 23:59:40,575 INFO L281 TraceCheckUtils]: 10: Hoare triple {6686#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {6686#true} is VALID [2021-09-13 23:59:40,575 INFO L281 TraceCheckUtils]: 9: Hoare triple {6686#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {6686#true} is VALID [2021-09-13 23:59:40,575 INFO L281 TraceCheckUtils]: 8: Hoare triple {6686#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {6686#true} is VALID [2021-09-13 23:59:40,575 INFO L281 TraceCheckUtils]: 7: Hoare triple {6686#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {6686#true} is VALID [2021-09-13 23:59:40,576 INFO L264 TraceCheckUtils]: 6: Hoare triple {6686#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {6686#true} is VALID [2021-09-13 23:59:40,576 INFO L281 TraceCheckUtils]: 5: Hoare triple {6686#true} ~len~0 := 3bv32; {6686#true} is VALID [2021-09-13 23:59:40,576 INFO L264 TraceCheckUtils]: 4: Hoare triple {6686#true} call #t~ret13 := main(); {6686#true} is VALID [2021-09-13 23:59:40,576 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {6686#true} {6686#true} #223#return; {6686#true} is VALID [2021-09-13 23:59:40,576 INFO L281 TraceCheckUtils]: 2: Hoare triple {6686#true} assume true; {6686#true} is VALID [2021-09-13 23:59:40,576 INFO L281 TraceCheckUtils]: 1: Hoare triple {6686#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {6686#true} is VALID [2021-09-13 23:59:40,576 INFO L264 TraceCheckUtils]: 0: Hoare triple {6686#true} call ULTIMATE.init(); {6686#true} is VALID [2021-09-13 23:59:40,576 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2021-09-13 23:59:40,576 INFO L139 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2021-09-13 23:59:40,576 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [909588060] [2021-09-13 23:59:40,576 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleMathsat [909588060] provided 2 perfect and 0 imperfect interpolant sequences [2021-09-13 23:59:40,576 INFO L186 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2021-09-13 23:59:40,577 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8, 8] imperfect sequences [] total 15 [2021-09-13 23:59:40,577 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [3490960] [2021-09-13 23:59:40,577 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 13 states have (on average 3.0) internal successors, (39), 12 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) Word has length 32 [2021-09-13 23:59:40,577 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:59:40,577 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 16 states, 13 states have (on average 3.0) internal successors, (39), 12 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-13 23:59:40,623 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:59:40,623 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2021-09-13 23:59:40,623 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2021-09-13 23:59:40,624 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2021-09-13 23:59:40,624 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=204, Unknown=0, NotChecked=0, Total=240 [2021-09-13 23:59:40,624 INFO L87 Difference]: Start difference. First operand 130 states and 135 transitions. Second operand has 16 states, 13 states have (on average 3.0) internal successors, (39), 12 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-13 23:59:46,884 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:46,884 INFO L93 Difference]: Finished difference Result 123 states and 128 transitions. [2021-09-13 23:59:46,884 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2021-09-13 23:59:46,884 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 13 states have (on average 3.0) internal successors, (39), 12 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) Word has length 32 [2021-09-13 23:59:46,884 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:59:46,884 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 13 states have (on average 3.0) internal successors, (39), 12 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-13 23:59:46,886 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 134 transitions. [2021-09-13 23:59:46,886 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 13 states have (on average 3.0) internal successors, (39), 12 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-13 23:59:46,887 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 134 transitions. [2021-09-13 23:59:46,887 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 134 transitions. [2021-09-13 23:59:47,005 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 134 edges. 134 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:59:47,006 INFO L225 Difference]: With dead ends: 123 [2021-09-13 23:59:47,006 INFO L226 Difference]: Without dead ends: 123 [2021-09-13 23:59:47,006 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 68 GetRequests, 50 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 597.40ms TimeCoverageRelationStatistics Valid=64, Invalid=316, Unknown=0, NotChecked=0, Total=380 [2021-09-13 23:59:47,007 INFO L928 BasicCegarLoop]: 6 mSDtfsCounter, 197 mSDsluCounter, 918 mSDsCounter, 0 mSdLazyCounter, 1402 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2801.60ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 198 SdHoareTripleChecker+Valid, 62 SdHoareTripleChecker+Invalid, 1411 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 21.53ms SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 1402 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2809.08ms IncrementalHoareTripleChecker+Time [2021-09-13 23:59:47,007 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [198 Valid, 62 Invalid, 1411 Unknown, 0 Unchecked, 21.53ms Time], IncrementalHoareTripleChecker [9 Valid, 1402 Invalid, 0 Unknown, 0 Unchecked, 2809.08ms Time] [2021-09-13 23:59:47,007 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 123 states. [2021-09-13 23:59:47,009 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 123 to 123. [2021-09-13 23:59:47,009 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:59:47,009 INFO L82 GeneralOperation]: Start isEquivalent. First operand 123 states. Second operand has 123 states, 79 states have (on average 1.5316455696202531) internal successors, (121), 115 states have internal predecessors, (121), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:47,010 INFO L74 IsIncluded]: Start isIncluded. First operand 123 states. Second operand has 123 states, 79 states have (on average 1.5316455696202531) internal successors, (121), 115 states have internal predecessors, (121), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:47,010 INFO L87 Difference]: Start difference. First operand 123 states. Second operand has 123 states, 79 states have (on average 1.5316455696202531) internal successors, (121), 115 states have internal predecessors, (121), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:47,012 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:47,012 INFO L93 Difference]: Finished difference Result 123 states and 128 transitions. [2021-09-13 23:59:47,012 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 128 transitions. [2021-09-13 23:59:47,012 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:59:47,012 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:59:47,013 INFO L74 IsIncluded]: Start isIncluded. First operand has 123 states, 79 states have (on average 1.5316455696202531) internal successors, (121), 115 states have internal predecessors, (121), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 123 states. [2021-09-13 23:59:47,013 INFO L87 Difference]: Start difference. First operand has 123 states, 79 states have (on average 1.5316455696202531) internal successors, (121), 115 states have internal predecessors, (121), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 123 states. [2021-09-13 23:59:47,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:47,014 INFO L93 Difference]: Finished difference Result 123 states and 128 transitions. [2021-09-13 23:59:47,014 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 128 transitions. [2021-09-13 23:59:47,014 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:59:47,014 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:59:47,015 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:59:47,015 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:59:47,015 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 123 states, 79 states have (on average 1.5316455696202531) internal successors, (121), 115 states have internal predecessors, (121), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:47,016 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 123 states to 123 states and 128 transitions. [2021-09-13 23:59:47,016 INFO L78 Accepts]: Start accepts. Automaton has 123 states and 128 transitions. Word has length 32 [2021-09-13 23:59:47,016 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:59:47,016 INFO L470 AbstractCegarLoop]: Abstraction has 123 states and 128 transitions. [2021-09-13 23:59:47,018 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 13 states have (on average 3.0) internal successors, (39), 12 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-13 23:59:47,018 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 128 transitions. [2021-09-13 23:59:47,018 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2021-09-13 23:59:47,018 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:59:47,018 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1] [2021-09-13 23:59:47,026 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (12)] Forceful destruction successful, exit code 0 [2021-09-13 23:59:47,225 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-09-13 23:59:47,225 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting _destroy_in_nondeterministic_orderErr5ASSERT_VIOLATIONMEMORY_FREE === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:59:47,226 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:59:47,226 INFO L82 PathProgramCache]: Analyzing trace with hash -813773906, now seen corresponding path program 1 times [2021-09-13 23:59:47,226 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-09-13 23:59:47,226 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1951720493] [2021-09-13 23:59:47,226 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:59:47,226 INFO L170 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-09-13 23:59:47,226 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-09-13 23:59:47,227 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2021-09-13 23:59:47,228 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (13)] Waiting until timeout for monitored process [2021-09-13 23:59:47,329 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:59:47,333 INFO L263 TraceCheckSpWp]: Trace formula consists of 150 conjuncts, 11 conjunts are in the unsatisfiable core [2021-09-13 23:59:47,343 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:59:47,344 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 23:59:48,520 INFO L264 TraceCheckUtils]: 0: Hoare triple {7394#true} call ULTIMATE.init(); {7394#true} is VALID [2021-09-13 23:59:48,520 INFO L281 TraceCheckUtils]: 1: Hoare triple {7394#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {7402#(bvult (_ bv0 32) |#StackHeapBarrier|)} is VALID [2021-09-13 23:59:48,521 INFO L281 TraceCheckUtils]: 2: Hoare triple {7402#(bvult (_ bv0 32) |#StackHeapBarrier|)} assume true; {7402#(bvult (_ bv0 32) |#StackHeapBarrier|)} is VALID [2021-09-13 23:59:48,524 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {7402#(bvult (_ bv0 32) |#StackHeapBarrier|)} {7394#true} #223#return; {7402#(bvult (_ bv0 32) |#StackHeapBarrier|)} is VALID [2021-09-13 23:59:48,524 INFO L264 TraceCheckUtils]: 4: Hoare triple {7402#(bvult (_ bv0 32) |#StackHeapBarrier|)} call #t~ret13 := main(); {7402#(bvult (_ bv0 32) |#StackHeapBarrier|)} is VALID [2021-09-13 23:59:48,525 INFO L281 TraceCheckUtils]: 5: Hoare triple {7402#(bvult (_ bv0 32) |#StackHeapBarrier|)} ~len~0 := 3bv32; {7402#(bvult (_ bv0 32) |#StackHeapBarrier|)} is VALID [2021-09-13 23:59:48,525 INFO L264 TraceCheckUtils]: 6: Hoare triple {7402#(bvult (_ bv0 32) |#StackHeapBarrier|)} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {7402#(bvult (_ bv0 32) |#StackHeapBarrier|)} is VALID [2021-09-13 23:59:48,528 INFO L281 TraceCheckUtils]: 7: Hoare triple {7402#(bvult (_ bv0 32) |#StackHeapBarrier|)} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {7421#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-13 23:59:48,528 INFO L281 TraceCheckUtils]: 8: Hoare triple {7421#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {7421#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-13 23:59:48,528 INFO L281 TraceCheckUtils]: 9: Hoare triple {7421#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {7421#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-13 23:59:48,529 INFO L281 TraceCheckUtils]: 10: Hoare triple {7421#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {7421#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-13 23:59:48,529 INFO L281 TraceCheckUtils]: 11: Hoare triple {7421#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {7421#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-13 23:59:48,529 INFO L281 TraceCheckUtils]: 12: Hoare triple {7421#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {7421#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-13 23:59:48,530 INFO L281 TraceCheckUtils]: 13: Hoare triple {7421#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {7421#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-13 23:59:48,530 INFO L281 TraceCheckUtils]: 14: Hoare triple {7421#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {7421#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-13 23:59:48,530 INFO L281 TraceCheckUtils]: 15: Hoare triple {7421#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {7421#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-13 23:59:48,530 INFO L281 TraceCheckUtils]: 16: Hoare triple {7421#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {7421#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-13 23:59:48,531 INFO L281 TraceCheckUtils]: 17: Hoare triple {7421#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {7452#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-13 23:59:48,531 INFO L281 TraceCheckUtils]: 18: Hoare triple {7452#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {7452#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-13 23:59:48,532 INFO L281 TraceCheckUtils]: 19: Hoare triple {7452#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {7452#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-13 23:59:48,532 INFO L281 TraceCheckUtils]: 20: Hoare triple {7452#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {7452#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-13 23:59:48,532 INFO L281 TraceCheckUtils]: 21: Hoare triple {7452#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {7465#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} is VALID [2021-09-13 23:59:48,533 INFO L281 TraceCheckUtils]: 22: Hoare triple {7465#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} assume !~bvsgt32(~len, 1bv32); {7465#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} is VALID [2021-09-13 23:59:48,533 INFO L281 TraceCheckUtils]: 23: Hoare triple {7465#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {7465#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} is VALID [2021-09-13 23:59:48,534 INFO L281 TraceCheckUtils]: 24: Hoare triple {7465#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {7465#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} is VALID [2021-09-13 23:59:48,534 INFO L281 TraceCheckUtils]: 25: Hoare triple {7465#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {7478#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult |dll_circular_create_#res.base| |#StackHeapBarrier|))} is VALID [2021-09-13 23:59:48,534 INFO L281 TraceCheckUtils]: 26: Hoare triple {7478#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult |dll_circular_create_#res.base| |#StackHeapBarrier|))} assume true; {7478#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult |dll_circular_create_#res.base| |#StackHeapBarrier|))} is VALID [2021-09-13 23:59:48,535 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {7478#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult |dll_circular_create_#res.base| |#StackHeapBarrier|))} {7402#(bvult (_ bv0 32) |#StackHeapBarrier|)} #219#return; {7485#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult |main_#t~ret12.base| |#StackHeapBarrier|))} is VALID [2021-09-13 23:59:48,535 INFO L281 TraceCheckUtils]: 28: Hoare triple {7485#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult |main_#t~ret12.base| |#StackHeapBarrier|))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {7489#(and (bvult main_~head~1.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} is VALID [2021-09-13 23:59:48,536 INFO L264 TraceCheckUtils]: 29: Hoare triple {7489#(and (bvult main_~head~1.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {7493#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult |_destroy_in_nondeterministic_order_#in~head.base| |#StackHeapBarrier|))} is VALID [2021-09-13 23:59:48,537 INFO L281 TraceCheckUtils]: 30: Hoare triple {7493#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult |_destroy_in_nondeterministic_order_#in~head.base| |#StackHeapBarrier|))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {7497#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-13 23:59:48,538 INFO L281 TraceCheckUtils]: 31: Hoare triple {7497#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {7497#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-13 23:59:48,538 INFO L281 TraceCheckUtils]: 32: Hoare triple {7497#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {7497#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-13 23:59:48,539 INFO L281 TraceCheckUtils]: 33: Hoare triple {7497#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {7497#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-13 23:59:48,539 INFO L281 TraceCheckUtils]: 34: Hoare triple {7497#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {7497#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-13 23:59:48,540 INFO L281 TraceCheckUtils]: 35: Hoare triple {7497#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} assume 0bv32 != #t~nondet7;havoc #t~nondet7; {7497#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-13 23:59:48,540 INFO L281 TraceCheckUtils]: 36: Hoare triple {7497#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} assume 0bv32 == ~head.offset; {7497#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-13 23:59:48,540 INFO L281 TraceCheckUtils]: 37: Hoare triple {7497#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} assume !~bvult32(~head.base, #StackHeapBarrier); {7395#false} is VALID [2021-09-13 23:59:48,540 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2021-09-13 23:59:48,541 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 23:59:48,842 INFO L281 TraceCheckUtils]: 37: Hoare triple {7519#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} assume !~bvult32(~head.base, #StackHeapBarrier); {7395#false} is VALID [2021-09-13 23:59:48,843 INFO L281 TraceCheckUtils]: 36: Hoare triple {7519#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} assume 0bv32 == ~head.offset; {7519#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-13 23:59:48,844 INFO L281 TraceCheckUtils]: 35: Hoare triple {7519#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} assume 0bv32 != #t~nondet7;havoc #t~nondet7; {7519#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-13 23:59:48,844 INFO L281 TraceCheckUtils]: 34: Hoare triple {7519#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {7519#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-13 23:59:48,844 INFO L281 TraceCheckUtils]: 33: Hoare triple {7519#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {7519#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-13 23:59:48,844 INFO L281 TraceCheckUtils]: 32: Hoare triple {7519#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {7519#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-13 23:59:48,845 INFO L281 TraceCheckUtils]: 31: Hoare triple {7519#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {7519#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-13 23:59:48,845 INFO L281 TraceCheckUtils]: 30: Hoare triple {7541#(bvult |_destroy_in_nondeterministic_order_#in~head.base| |#StackHeapBarrier|)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {7519#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-13 23:59:48,845 INFO L264 TraceCheckUtils]: 29: Hoare triple {7545#(bvult main_~head~1.base |#StackHeapBarrier|)} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {7541#(bvult |_destroy_in_nondeterministic_order_#in~head.base| |#StackHeapBarrier|)} is VALID [2021-09-13 23:59:48,846 INFO L281 TraceCheckUtils]: 28: Hoare triple {7549#(bvult |main_#t~ret12.base| |#StackHeapBarrier|)} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {7545#(bvult main_~head~1.base |#StackHeapBarrier|)} is VALID [2021-09-13 23:59:48,846 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {7556#(bvult |dll_circular_create_#res.base| |#StackHeapBarrier|)} {7394#true} #219#return; {7549#(bvult |main_#t~ret12.base| |#StackHeapBarrier|)} is VALID [2021-09-13 23:59:48,846 INFO L281 TraceCheckUtils]: 26: Hoare triple {7556#(bvult |dll_circular_create_#res.base| |#StackHeapBarrier|)} assume true; {7556#(bvult |dll_circular_create_#res.base| |#StackHeapBarrier|)} is VALID [2021-09-13 23:59:48,847 INFO L281 TraceCheckUtils]: 25: Hoare triple {7563#(bvult dll_circular_create_~head~0.base |#StackHeapBarrier|)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {7556#(bvult |dll_circular_create_#res.base| |#StackHeapBarrier|)} is VALID [2021-09-13 23:59:48,847 INFO L281 TraceCheckUtils]: 24: Hoare triple {7563#(bvult dll_circular_create_~head~0.base |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {7563#(bvult dll_circular_create_~head~0.base |#StackHeapBarrier|)} is VALID [2021-09-13 23:59:48,847 INFO L281 TraceCheckUtils]: 23: Hoare triple {7563#(bvult dll_circular_create_~head~0.base |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {7563#(bvult dll_circular_create_~head~0.base |#StackHeapBarrier|)} is VALID [2021-09-13 23:59:48,847 INFO L281 TraceCheckUtils]: 22: Hoare triple {7563#(bvult dll_circular_create_~head~0.base |#StackHeapBarrier|)} assume !~bvsgt32(~len, 1bv32); {7563#(bvult dll_circular_create_~head~0.base |#StackHeapBarrier|)} is VALID [2021-09-13 23:59:48,848 INFO L281 TraceCheckUtils]: 21: Hoare triple {7576#(bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {7563#(bvult dll_circular_create_~head~0.base |#StackHeapBarrier|)} is VALID [2021-09-13 23:59:48,848 INFO L281 TraceCheckUtils]: 20: Hoare triple {7576#(bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {7576#(bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)} is VALID [2021-09-13 23:59:48,848 INFO L281 TraceCheckUtils]: 19: Hoare triple {7576#(bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {7576#(bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)} is VALID [2021-09-13 23:59:48,848 INFO L281 TraceCheckUtils]: 18: Hoare triple {7576#(bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {7576#(bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)} is VALID [2021-09-13 23:59:48,849 INFO L281 TraceCheckUtils]: 17: Hoare triple {7394#true} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {7576#(bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)} is VALID [2021-09-13 23:59:48,849 INFO L281 TraceCheckUtils]: 16: Hoare triple {7394#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {7394#true} is VALID [2021-09-13 23:59:48,849 INFO L281 TraceCheckUtils]: 15: Hoare triple {7394#true} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {7394#true} is VALID [2021-09-13 23:59:48,849 INFO L281 TraceCheckUtils]: 14: Hoare triple {7394#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {7394#true} is VALID [2021-09-13 23:59:48,849 INFO L281 TraceCheckUtils]: 13: Hoare triple {7394#true} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {7394#true} is VALID [2021-09-13 23:59:48,849 INFO L281 TraceCheckUtils]: 12: Hoare triple {7394#true} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {7394#true} is VALID [2021-09-13 23:59:48,849 INFO L281 TraceCheckUtils]: 11: Hoare triple {7394#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {7394#true} is VALID [2021-09-13 23:59:48,849 INFO L281 TraceCheckUtils]: 10: Hoare triple {7394#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {7394#true} is VALID [2021-09-13 23:59:48,850 INFO L281 TraceCheckUtils]: 9: Hoare triple {7394#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {7394#true} is VALID [2021-09-13 23:59:48,850 INFO L281 TraceCheckUtils]: 8: Hoare triple {7394#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {7394#true} is VALID [2021-09-13 23:59:48,850 INFO L281 TraceCheckUtils]: 7: Hoare triple {7394#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {7394#true} is VALID [2021-09-13 23:59:48,850 INFO L264 TraceCheckUtils]: 6: Hoare triple {7394#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {7394#true} is VALID [2021-09-13 23:59:48,850 INFO L281 TraceCheckUtils]: 5: Hoare triple {7394#true} ~len~0 := 3bv32; {7394#true} is VALID [2021-09-13 23:59:48,850 INFO L264 TraceCheckUtils]: 4: Hoare triple {7394#true} call #t~ret13 := main(); {7394#true} is VALID [2021-09-13 23:59:48,850 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {7394#true} {7394#true} #223#return; {7394#true} is VALID [2021-09-13 23:59:48,850 INFO L281 TraceCheckUtils]: 2: Hoare triple {7394#true} assume true; {7394#true} is VALID [2021-09-13 23:59:48,851 INFO L281 TraceCheckUtils]: 1: Hoare triple {7394#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {7394#true} is VALID [2021-09-13 23:59:48,851 INFO L264 TraceCheckUtils]: 0: Hoare triple {7394#true} call ULTIMATE.init(); {7394#true} is VALID [2021-09-13 23:59:48,851 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2021-09-13 23:59:48,851 INFO L139 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2021-09-13 23:59:48,851 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1951720493] [2021-09-13 23:59:48,851 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1951720493] provided 2 perfect and 0 imperfect interpolant sequences [2021-09-13 23:59:48,851 INFO L186 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2021-09-13 23:59:48,851 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10, 8] imperfect sequences [] total 17 [2021-09-13 23:59:48,852 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1120907409] [2021-09-13 23:59:48,852 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 15 states have (on average 4.266666666666667) internal successors, (64), 14 states have internal predecessors, (64), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 38 [2021-09-13 23:59:48,852 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:59:48,852 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 18 states, 15 states have (on average 4.266666666666667) internal successors, (64), 14 states have internal predecessors, (64), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2021-09-13 23:59:48,978 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:59:48,978 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2021-09-13 23:59:48,978 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2021-09-13 23:59:48,979 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2021-09-13 23:59:48,979 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=244, Unknown=0, NotChecked=0, Total=306 [2021-09-13 23:59:48,979 INFO L87 Difference]: Start difference. First operand 123 states and 128 transitions. Second operand has 18 states, 15 states have (on average 4.266666666666667) internal successors, (64), 14 states have internal predecessors, (64), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2021-09-13 23:59:49,405 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:49,406 INFO L93 Difference]: Finished difference Result 122 states and 127 transitions. [2021-09-13 23:59:49,406 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2021-09-13 23:59:49,409 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 15 states have (on average 4.266666666666667) internal successors, (64), 14 states have internal predecessors, (64), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 38 [2021-09-13 23:59:49,410 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:59:49,410 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 15 states have (on average 4.266666666666667) internal successors, (64), 14 states have internal predecessors, (64), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2021-09-13 23:59:49,413 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 123 transitions. [2021-09-13 23:59:49,413 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 15 states have (on average 4.266666666666667) internal successors, (64), 14 states have internal predecessors, (64), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2021-09-13 23:59:49,415 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 123 transitions. [2021-09-13 23:59:49,415 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 123 transitions. [2021-09-13 23:59:49,571 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 123 edges. 123 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:59:49,572 INFO L225 Difference]: With dead ends: 122 [2021-09-13 23:59:49,572 INFO L226 Difference]: Without dead ends: 122 [2021-09-13 23:59:49,572 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 59 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 70 ImplicationChecksByTransitivity, 277.61ms TimeCoverageRelationStatistics Valid=62, Invalid=244, Unknown=0, NotChecked=0, Total=306 [2021-09-13 23:59:49,573 INFO L928 BasicCegarLoop]: 7 mSDtfsCounter, 0 mSDsluCounter, 417 mSDsCounter, 0 mSdLazyCounter, 291 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 202.08ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 1 SdHoareTripleChecker+Valid, 13 SdHoareTripleChecker+Invalid, 612 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.81ms SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 291 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 321 IncrementalHoareTripleChecker+Unchecked, 202.98ms IncrementalHoareTripleChecker+Time [2021-09-13 23:59:49,573 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [1 Valid, 13 Invalid, 612 Unknown, 0 Unchecked, 0.81ms Time], IncrementalHoareTripleChecker [0 Valid, 291 Invalid, 0 Unknown, 321 Unchecked, 202.98ms Time] [2021-09-13 23:59:49,573 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 122 states. [2021-09-13 23:59:49,575 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 122 to 122. [2021-09-13 23:59:49,575 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:59:49,575 INFO L82 GeneralOperation]: Start isEquivalent. First operand 122 states. Second operand has 122 states, 79 states have (on average 1.518987341772152) internal successors, (120), 114 states have internal predecessors, (120), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:49,575 INFO L74 IsIncluded]: Start isIncluded. First operand 122 states. Second operand has 122 states, 79 states have (on average 1.518987341772152) internal successors, (120), 114 states have internal predecessors, (120), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:49,575 INFO L87 Difference]: Start difference. First operand 122 states. Second operand has 122 states, 79 states have (on average 1.518987341772152) internal successors, (120), 114 states have internal predecessors, (120), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:49,577 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:49,577 INFO L93 Difference]: Finished difference Result 122 states and 127 transitions. [2021-09-13 23:59:49,577 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 127 transitions. [2021-09-13 23:59:49,577 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:59:49,577 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:59:49,577 INFO L74 IsIncluded]: Start isIncluded. First operand has 122 states, 79 states have (on average 1.518987341772152) internal successors, (120), 114 states have internal predecessors, (120), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 122 states. [2021-09-13 23:59:49,577 INFO L87 Difference]: Start difference. First operand has 122 states, 79 states have (on average 1.518987341772152) internal successors, (120), 114 states have internal predecessors, (120), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 122 states. [2021-09-13 23:59:49,579 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:49,579 INFO L93 Difference]: Finished difference Result 122 states and 127 transitions. [2021-09-13 23:59:49,579 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 127 transitions. [2021-09-13 23:59:49,579 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:59:49,579 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:59:49,579 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:59:49,579 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:59:49,579 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 122 states, 79 states have (on average 1.518987341772152) internal successors, (120), 114 states have internal predecessors, (120), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:49,581 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 122 states and 127 transitions. [2021-09-13 23:59:49,582 INFO L78 Accepts]: Start accepts. Automaton has 122 states and 127 transitions. Word has length 38 [2021-09-13 23:59:49,582 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:59:49,582 INFO L470 AbstractCegarLoop]: Abstraction has 122 states and 127 transitions. [2021-09-13 23:59:49,582 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 15 states have (on average 4.266666666666667) internal successors, (64), 14 states have internal predecessors, (64), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2021-09-13 23:59:49,582 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 127 transitions. [2021-09-13 23:59:49,584 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2021-09-13 23:59:49,584 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:59:49,584 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1] [2021-09-13 23:59:49,593 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (13)] Forceful destruction successful, exit code 0 [2021-09-13 23:59:49,791 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-09-13 23:59:49,791 INFO L402 AbstractCegarLoop]: === Iteration 13 === Targeting _destroy_in_nondeterministic_orderErr34ASSERT_VIOLATIONMEMORY_FREE === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:59:49,792 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:59:49,792 INFO L82 PathProgramCache]: Analyzing trace with hash -813734924, now seen corresponding path program 1 times [2021-09-13 23:59:49,792 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-09-13 23:59:49,792 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [334502677] [2021-09-13 23:59:49,792 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:59:49,792 INFO L170 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-09-13 23:59:49,792 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-09-13 23:59:49,794 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) [2021-09-13 23:59:49,795 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (14)] Waiting until timeout for monitored process [2021-09-13 23:59:49,891 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:59:49,895 INFO L263 TraceCheckSpWp]: Trace formula consists of 150 conjuncts, 17 conjunts are in the unsatisfiable core [2021-09-13 23:59:49,907 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:59:49,908 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 23:59:50,094 INFO L388 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2021-09-13 23:59:50,298 INFO L388 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 [2021-09-13 23:59:50,357 INFO L264 TraceCheckUtils]: 0: Hoare triple {8127#true} call ULTIMATE.init(); {8127#true} is VALID [2021-09-13 23:59:50,357 INFO L281 TraceCheckUtils]: 1: Hoare triple {8127#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {8127#true} is VALID [2021-09-13 23:59:50,357 INFO L281 TraceCheckUtils]: 2: Hoare triple {8127#true} assume true; {8127#true} is VALID [2021-09-13 23:59:50,357 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {8127#true} {8127#true} #223#return; {8127#true} is VALID [2021-09-13 23:59:50,358 INFO L264 TraceCheckUtils]: 4: Hoare triple {8127#true} call #t~ret13 := main(); {8127#true} is VALID [2021-09-13 23:59:50,358 INFO L281 TraceCheckUtils]: 5: Hoare triple {8127#true} ~len~0 := 3bv32; {8127#true} is VALID [2021-09-13 23:59:50,358 INFO L264 TraceCheckUtils]: 6: Hoare triple {8127#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {8127#true} is VALID [2021-09-13 23:59:50,358 INFO L281 TraceCheckUtils]: 7: Hoare triple {8127#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} is VALID [2021-09-13 23:59:50,358 INFO L281 TraceCheckUtils]: 8: Hoare triple {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} is VALID [2021-09-13 23:59:50,359 INFO L281 TraceCheckUtils]: 9: Hoare triple {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} is VALID [2021-09-13 23:59:50,359 INFO L281 TraceCheckUtils]: 10: Hoare triple {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} is VALID [2021-09-13 23:59:50,359 INFO L281 TraceCheckUtils]: 11: Hoare triple {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} is VALID [2021-09-13 23:59:50,360 INFO L281 TraceCheckUtils]: 12: Hoare triple {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} is VALID [2021-09-13 23:59:50,360 INFO L281 TraceCheckUtils]: 13: Hoare triple {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} is VALID [2021-09-13 23:59:50,360 INFO L281 TraceCheckUtils]: 14: Hoare triple {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} is VALID [2021-09-13 23:59:50,361 INFO L281 TraceCheckUtils]: 15: Hoare triple {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} is VALID [2021-09-13 23:59:50,361 INFO L281 TraceCheckUtils]: 16: Hoare triple {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} is VALID [2021-09-13 23:59:50,361 INFO L281 TraceCheckUtils]: 17: Hoare triple {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {8184#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:50,362 INFO L281 TraceCheckUtils]: 18: Hoare triple {8184#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {8184#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:50,362 INFO L281 TraceCheckUtils]: 19: Hoare triple {8184#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {8184#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:50,363 INFO L281 TraceCheckUtils]: 20: Hoare triple {8184#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {8184#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:50,363 INFO L281 TraceCheckUtils]: 21: Hoare triple {8184#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {8197#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:50,364 INFO L281 TraceCheckUtils]: 22: Hoare triple {8197#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= dll_circular_create_~head~0.offset (_ bv0 32)))} assume !~bvsgt32(~len, 1bv32); {8197#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:50,364 INFO L281 TraceCheckUtils]: 23: Hoare triple {8197#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= dll_circular_create_~head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {8197#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:50,365 INFO L281 TraceCheckUtils]: 24: Hoare triple {8197#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= dll_circular_create_~head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {8207#(and (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) (_ bv0 32)) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:50,366 INFO L281 TraceCheckUtils]: 25: Hoare triple {8207#(and (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) (_ bv0 32)) (= dll_circular_create_~head~0.offset (_ bv0 32)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {8211#(and (= |dll_circular_create_#res.offset| (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) (_ bv0 32)))} is VALID [2021-09-13 23:59:50,366 INFO L281 TraceCheckUtils]: 26: Hoare triple {8211#(and (= |dll_circular_create_#res.offset| (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) (_ bv0 32)))} assume true; {8211#(and (= |dll_circular_create_#res.offset| (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) (_ bv0 32)))} is VALID [2021-09-13 23:59:50,367 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {8211#(and (= |dll_circular_create_#res.offset| (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) (_ bv0 32)))} {8127#true} #219#return; {8218#(and (= (select (select |#memory_$Pointer$.offset| |main_#t~ret12.base|) (_ bv4 32)) (_ bv0 32)) (= |main_#t~ret12.offset| (_ bv0 32)))} is VALID [2021-09-13 23:59:50,367 INFO L281 TraceCheckUtils]: 28: Hoare triple {8218#(and (= (select (select |#memory_$Pointer$.offset| |main_#t~ret12.base|) (_ bv4 32)) (_ bv0 32)) (= |main_#t~ret12.offset| (_ bv0 32)))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {8222#(and (= (select (select |#memory_$Pointer$.offset| main_~head~1.base) (_ bv4 32)) (_ bv0 32)) (= main_~head~1.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:50,368 INFO L264 TraceCheckUtils]: 29: Hoare triple {8222#(and (= (select (select |#memory_$Pointer$.offset| main_~head~1.base) (_ bv4 32)) (_ bv0 32)) (= main_~head~1.offset (_ bv0 32)))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {8226#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32))) (= |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv0 32)))} is VALID [2021-09-13 23:59:50,369 INFO L281 TraceCheckUtils]: 30: Hoare triple {8226#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32))) (= |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv0 32)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {8230#(and (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) (_ bv0 32)))} is VALID [2021-09-13 23:59:50,369 INFO L281 TraceCheckUtils]: 31: Hoare triple {8230#(and (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) (_ bv0 32)))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {8234#(= |_destroy_in_nondeterministic_order_#t~mem5.offset| (_ bv0 32))} is VALID [2021-09-13 23:59:50,369 INFO L281 TraceCheckUtils]: 32: Hoare triple {8234#(= |_destroy_in_nondeterministic_order_#t~mem5.offset| (_ bv0 32))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {8238#(= (_ bv0 32) _destroy_in_nondeterministic_order_~pred~0.offset)} is VALID [2021-09-13 23:59:50,370 INFO L281 TraceCheckUtils]: 33: Hoare triple {8238#(= (_ bv0 32) _destroy_in_nondeterministic_order_~pred~0.offset)} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {8238#(= (_ bv0 32) _destroy_in_nondeterministic_order_~pred~0.offset)} is VALID [2021-09-13 23:59:50,370 INFO L281 TraceCheckUtils]: 34: Hoare triple {8238#(= (_ bv0 32) _destroy_in_nondeterministic_order_~pred~0.offset)} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {8238#(= (_ bv0 32) _destroy_in_nondeterministic_order_~pred~0.offset)} is VALID [2021-09-13 23:59:50,370 INFO L281 TraceCheckUtils]: 35: Hoare triple {8238#(= (_ bv0 32) _destroy_in_nondeterministic_order_~pred~0.offset)} assume !(0bv32 != #t~nondet7);havoc #t~nondet7; {8238#(= (_ bv0 32) _destroy_in_nondeterministic_order_~pred~0.offset)} is VALID [2021-09-13 23:59:50,371 INFO L281 TraceCheckUtils]: 36: Hoare triple {8238#(= (_ bv0 32) _destroy_in_nondeterministic_order_~pred~0.offset)} assume !(0bv32 != #t~nondet9);havoc #t~nondet9; {8238#(= (_ bv0 32) _destroy_in_nondeterministic_order_~pred~0.offset)} is VALID [2021-09-13 23:59:50,371 INFO L281 TraceCheckUtils]: 37: Hoare triple {8238#(= (_ bv0 32) _destroy_in_nondeterministic_order_~pred~0.offset)} assume !(0bv32 == ~pred~0.offset); {8128#false} is VALID [2021-09-13 23:59:50,371 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2021-09-13 23:59:50,371 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-13 23:59:50,875 INFO L281 TraceCheckUtils]: 37: Hoare triple {8238#(= (_ bv0 32) _destroy_in_nondeterministic_order_~pred~0.offset)} assume !(0bv32 == ~pred~0.offset); {8128#false} is VALID [2021-09-13 23:59:50,875 INFO L281 TraceCheckUtils]: 36: Hoare triple {8238#(= (_ bv0 32) _destroy_in_nondeterministic_order_~pred~0.offset)} assume !(0bv32 != #t~nondet9);havoc #t~nondet9; {8238#(= (_ bv0 32) _destroy_in_nondeterministic_order_~pred~0.offset)} is VALID [2021-09-13 23:59:50,875 INFO L281 TraceCheckUtils]: 35: Hoare triple {8238#(= (_ bv0 32) _destroy_in_nondeterministic_order_~pred~0.offset)} assume !(0bv32 != #t~nondet7);havoc #t~nondet7; {8238#(= (_ bv0 32) _destroy_in_nondeterministic_order_~pred~0.offset)} is VALID [2021-09-13 23:59:50,876 INFO L281 TraceCheckUtils]: 34: Hoare triple {8238#(= (_ bv0 32) _destroy_in_nondeterministic_order_~pred~0.offset)} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {8238#(= (_ bv0 32) _destroy_in_nondeterministic_order_~pred~0.offset)} is VALID [2021-09-13 23:59:50,876 INFO L281 TraceCheckUtils]: 33: Hoare triple {8238#(= (_ bv0 32) _destroy_in_nondeterministic_order_~pred~0.offset)} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {8238#(= (_ bv0 32) _destroy_in_nondeterministic_order_~pred~0.offset)} is VALID [2021-09-13 23:59:50,877 INFO L281 TraceCheckUtils]: 32: Hoare triple {8234#(= |_destroy_in_nondeterministic_order_#t~mem5.offset| (_ bv0 32))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {8238#(= (_ bv0 32) _destroy_in_nondeterministic_order_~pred~0.offset)} is VALID [2021-09-13 23:59:50,877 INFO L281 TraceCheckUtils]: 31: Hoare triple {8272#(= (_ bv0 32) (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset)))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {8234#(= |_destroy_in_nondeterministic_order_#t~mem5.offset| (_ bv0 32))} is VALID [2021-09-13 23:59:50,877 INFO L281 TraceCheckUtils]: 30: Hoare triple {8276#(= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |_destroy_in_nondeterministic_order_#in~head.base|) (bvadd |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv4 32))))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {8272#(= (_ bv0 32) (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset)))} is VALID [2021-09-13 23:59:50,878 INFO L264 TraceCheckUtils]: 29: Hoare triple {8280#(= (select (select |#memory_$Pointer$.offset| main_~head~1.base) (bvadd (_ bv4 32) main_~head~1.offset)) (_ bv0 32))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {8276#(= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |_destroy_in_nondeterministic_order_#in~head.base|) (bvadd |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv4 32))))} is VALID [2021-09-13 23:59:50,879 INFO L281 TraceCheckUtils]: 28: Hoare triple {8284#(= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_#t~ret12.base|) (bvadd (_ bv4 32) |main_#t~ret12.offset|)))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {8280#(= (select (select |#memory_$Pointer$.offset| main_~head~1.base) (bvadd (_ bv4 32) main_~head~1.offset)) (_ bv0 32))} is VALID [2021-09-13 23:59:50,879 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {8291#(= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) (_ bv0 32))} {8127#true} #219#return; {8284#(= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_#t~ret12.base|) (bvadd (_ bv4 32) |main_#t~ret12.offset|)))} is VALID [2021-09-13 23:59:50,880 INFO L281 TraceCheckUtils]: 26: Hoare triple {8291#(= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) (_ bv0 32))} assume true; {8291#(= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) (_ bv0 32))} is VALID [2021-09-13 23:59:50,880 INFO L281 TraceCheckUtils]: 25: Hoare triple {8298#(= (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) (_ bv0 32))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {8291#(= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) (_ bv0 32))} is VALID [2021-09-13 23:59:50,882 INFO L281 TraceCheckUtils]: 24: Hoare triple {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {8298#(= (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) (_ bv0 32))} is VALID [2021-09-13 23:59:50,882 INFO L281 TraceCheckUtils]: 23: Hoare triple {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} is VALID [2021-09-13 23:59:50,882 INFO L281 TraceCheckUtils]: 22: Hoare triple {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} assume !~bvsgt32(~len, 1bv32); {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} is VALID [2021-09-13 23:59:50,883 INFO L281 TraceCheckUtils]: 21: Hoare triple {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} is VALID [2021-09-13 23:59:50,883 INFO L281 TraceCheckUtils]: 20: Hoare triple {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} is VALID [2021-09-13 23:59:50,883 INFO L281 TraceCheckUtils]: 19: Hoare triple {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} is VALID [2021-09-13 23:59:50,884 INFO L281 TraceCheckUtils]: 18: Hoare triple {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} is VALID [2021-09-13 23:59:50,884 INFO L281 TraceCheckUtils]: 17: Hoare triple {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} is VALID [2021-09-13 23:59:50,884 INFO L281 TraceCheckUtils]: 16: Hoare triple {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} is VALID [2021-09-13 23:59:50,885 INFO L281 TraceCheckUtils]: 15: Hoare triple {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} is VALID [2021-09-13 23:59:50,885 INFO L281 TraceCheckUtils]: 14: Hoare triple {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} is VALID [2021-09-13 23:59:50,885 INFO L281 TraceCheckUtils]: 13: Hoare triple {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} is VALID [2021-09-13 23:59:50,886 INFO L281 TraceCheckUtils]: 12: Hoare triple {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} is VALID [2021-09-13 23:59:50,886 INFO L281 TraceCheckUtils]: 11: Hoare triple {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} is VALID [2021-09-13 23:59:50,886 INFO L281 TraceCheckUtils]: 10: Hoare triple {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} is VALID [2021-09-13 23:59:50,886 INFO L281 TraceCheckUtils]: 9: Hoare triple {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} is VALID [2021-09-13 23:59:50,887 INFO L281 TraceCheckUtils]: 8: Hoare triple {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} is VALID [2021-09-13 23:59:50,887 INFO L281 TraceCheckUtils]: 7: Hoare triple {8127#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {8153#(= dll_circular_create_~last~0.offset (_ bv0 32))} is VALID [2021-09-13 23:59:50,887 INFO L264 TraceCheckUtils]: 6: Hoare triple {8127#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {8127#true} is VALID [2021-09-13 23:59:50,887 INFO L281 TraceCheckUtils]: 5: Hoare triple {8127#true} ~len~0 := 3bv32; {8127#true} is VALID [2021-09-13 23:59:50,887 INFO L264 TraceCheckUtils]: 4: Hoare triple {8127#true} call #t~ret13 := main(); {8127#true} is VALID [2021-09-13 23:59:50,887 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {8127#true} {8127#true} #223#return; {8127#true} is VALID [2021-09-13 23:59:50,887 INFO L281 TraceCheckUtils]: 2: Hoare triple {8127#true} assume true; {8127#true} is VALID [2021-09-13 23:59:50,887 INFO L281 TraceCheckUtils]: 1: Hoare triple {8127#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {8127#true} is VALID [2021-09-13 23:59:50,888 INFO L264 TraceCheckUtils]: 0: Hoare triple {8127#true} call ULTIMATE.init(); {8127#true} is VALID [2021-09-13 23:59:50,888 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2021-09-13 23:59:50,888 INFO L139 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2021-09-13 23:59:50,888 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [334502677] [2021-09-13 23:59:50,888 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleMathsat [334502677] provided 2 perfect and 0 imperfect interpolant sequences [2021-09-13 23:59:50,888 INFO L186 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2021-09-13 23:59:50,888 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12, 10] imperfect sequences [] total 18 [2021-09-13 23:59:50,888 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1679339567] [2021-09-13 23:59:50,889 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 16 states have (on average 2.5) internal successors, (40), 15 states have internal predecessors, (40), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) Word has length 38 [2021-09-13 23:59:50,889 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-13 23:59:50,889 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 19 states, 16 states have (on average 2.5) internal successors, (40), 15 states have internal predecessors, (40), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-13 23:59:50,934 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:59:50,934 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2021-09-13 23:59:50,934 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2021-09-13 23:59:50,935 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2021-09-13 23:59:50,935 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=299, Unknown=0, NotChecked=0, Total=342 [2021-09-13 23:59:50,935 INFO L87 Difference]: Start difference. First operand 122 states and 127 transitions. Second operand has 19 states, 16 states have (on average 2.5) internal successors, (40), 15 states have internal predecessors, (40), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-13 23:59:54,854 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:54,855 INFO L93 Difference]: Finished difference Result 117 states and 122 transitions. [2021-09-13 23:59:54,855 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2021-09-13 23:59:54,855 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 16 states have (on average 2.5) internal successors, (40), 15 states have internal predecessors, (40), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) Word has length 38 [2021-09-13 23:59:54,855 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-13 23:59:54,855 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 16 states have (on average 2.5) internal successors, (40), 15 states have internal predecessors, (40), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-13 23:59:54,856 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 122 transitions. [2021-09-13 23:59:54,856 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 16 states have (on average 2.5) internal successors, (40), 15 states have internal predecessors, (40), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-13 23:59:54,857 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 122 transitions. [2021-09-13 23:59:54,858 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 122 transitions. [2021-09-13 23:59:54,982 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 122 edges. 122 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-13 23:59:54,983 INFO L225 Difference]: With dead ends: 117 [2021-09-13 23:59:54,983 INFO L226 Difference]: Without dead ends: 117 [2021-09-13 23:59:54,984 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 81 GetRequests, 58 SyntacticMatches, 0 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 461.22ms TimeCoverageRelationStatistics Valid=89, Invalid=511, Unknown=0, NotChecked=0, Total=600 [2021-09-13 23:59:54,984 INFO L928 BasicCegarLoop]: 6 mSDtfsCounter, 268 mSDsluCounter, 828 mSDsCounter, 0 mSdLazyCounter, 1317 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1750.02ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 269 SdHoareTripleChecker+Valid, 74 SdHoareTripleChecker+Invalid, 1326 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 6.13ms SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 1317 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1756.77ms IncrementalHoareTripleChecker+Time [2021-09-13 23:59:54,984 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [269 Valid, 74 Invalid, 1326 Unknown, 0 Unchecked, 6.13ms Time], IncrementalHoareTripleChecker [9 Valid, 1317 Invalid, 0 Unknown, 0 Unchecked, 1756.77ms Time] [2021-09-13 23:59:54,985 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 117 states. [2021-09-13 23:59:54,986 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 117 to 117. [2021-09-13 23:59:54,986 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-13 23:59:54,986 INFO L82 GeneralOperation]: Start isEquivalent. First operand 117 states. Second operand has 117 states, 79 states have (on average 1.4556962025316456) internal successors, (115), 109 states have internal predecessors, (115), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:54,986 INFO L74 IsIncluded]: Start isIncluded. First operand 117 states. Second operand has 117 states, 79 states have (on average 1.4556962025316456) internal successors, (115), 109 states have internal predecessors, (115), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:54,986 INFO L87 Difference]: Start difference. First operand 117 states. Second operand has 117 states, 79 states have (on average 1.4556962025316456) internal successors, (115), 109 states have internal predecessors, (115), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:54,988 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:54,988 INFO L93 Difference]: Finished difference Result 117 states and 122 transitions. [2021-09-13 23:59:54,988 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 122 transitions. [2021-09-13 23:59:54,988 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:59:54,988 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:59:54,988 INFO L74 IsIncluded]: Start isIncluded. First operand has 117 states, 79 states have (on average 1.4556962025316456) internal successors, (115), 109 states have internal predecessors, (115), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 117 states. [2021-09-13 23:59:54,989 INFO L87 Difference]: Start difference. First operand has 117 states, 79 states have (on average 1.4556962025316456) internal successors, (115), 109 states have internal predecessors, (115), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 117 states. [2021-09-13 23:59:54,990 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-13 23:59:54,990 INFO L93 Difference]: Finished difference Result 117 states and 122 transitions. [2021-09-13 23:59:54,990 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 122 transitions. [2021-09-13 23:59:54,990 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-13 23:59:54,990 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-13 23:59:54,990 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-13 23:59:54,990 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-13 23:59:54,991 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 117 states, 79 states have (on average 1.4556962025316456) internal successors, (115), 109 states have internal predecessors, (115), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-13 23:59:54,992 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 117 states to 117 states and 122 transitions. [2021-09-13 23:59:54,992 INFO L78 Accepts]: Start accepts. Automaton has 117 states and 122 transitions. Word has length 38 [2021-09-13 23:59:54,992 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-13 23:59:54,992 INFO L470 AbstractCegarLoop]: Abstraction has 117 states and 122 transitions. [2021-09-13 23:59:54,993 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 16 states have (on average 2.5) internal successors, (40), 15 states have internal predecessors, (40), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-13 23:59:54,993 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 122 transitions. [2021-09-13 23:59:54,993 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2021-09-13 23:59:54,993 INFO L505 BasicCegarLoop]: Found error trace [2021-09-13 23:59:54,993 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1] [2021-09-13 23:59:55,003 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (14)] Forceful destruction successful, exit code 0 [2021-09-13 23:59:55,201 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-09-13 23:59:55,201 INFO L402 AbstractCegarLoop]: === Iteration 14 === Targeting _destroy_in_nondeterministic_orderErr19ASSERT_VIOLATIONMEMORY_FREE === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-13 23:59:55,202 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-13 23:59:55,202 INFO L82 PathProgramCache]: Analyzing trace with hash -813736140, now seen corresponding path program 1 times [2021-09-13 23:59:55,202 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-09-13 23:59:55,202 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [2067904849] [2021-09-13 23:59:55,202 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-13 23:59:55,203 INFO L170 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-09-13 23:59:55,203 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-09-13 23:59:55,203 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) [2021-09-13 23:59:55,205 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (15)] Waiting until timeout for monitored process [2021-09-13 23:59:55,311 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:59:55,318 INFO L263 TraceCheckSpWp]: Trace formula consists of 150 conjuncts, 27 conjunts are in the unsatisfiable core [2021-09-13 23:59:55,327 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-13 23:59:55,328 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-13 23:59:55,367 INFO L388 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 [2021-09-13 23:59:55,524 INFO L354 Elim1Store]: treesize reduction 16, result has 36.0 percent of original size [2021-09-13 23:59:55,525 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 26 treesize of output 28 [2021-09-13 23:59:55,607 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2021-09-13 23:59:55,705 INFO L354 Elim1Store]: treesize reduction 25, result has 21.9 percent of original size [2021-09-13 23:59:55,706 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 29 treesize of output 27 [2021-09-13 23:59:56,035 INFO L354 Elim1Store]: treesize reduction 60, result has 20.0 percent of original size [2021-09-13 23:59:56,035 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 45 treesize of output 42 [2021-09-13 23:59:56,252 INFO L354 Elim1Store]: treesize reduction 112, result has 16.4 percent of original size [2021-09-13 23:59:56,252 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 6 case distinctions, treesize of input 54 treesize of output 54 [2021-09-13 23:59:57,766 INFO L354 Elim1Store]: treesize reduction 68, result has 1.4 percent of original size [2021-09-13 23:59:57,767 INFO L388 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 7 new quantified variables, introduced 6 case distinctions, treesize of input 59 treesize of output 32 [2021-09-13 23:59:57,906 INFO L264 TraceCheckUtils]: 0: Hoare triple {8853#true} call ULTIMATE.init(); {8853#true} is VALID [2021-09-13 23:59:57,906 INFO L281 TraceCheckUtils]: 1: Hoare triple {8853#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {8853#true} is VALID [2021-09-13 23:59:57,906 INFO L281 TraceCheckUtils]: 2: Hoare triple {8853#true} assume true; {8853#true} is VALID [2021-09-13 23:59:57,906 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {8853#true} {8853#true} #223#return; {8853#true} is VALID [2021-09-13 23:59:57,906 INFO L264 TraceCheckUtils]: 4: Hoare triple {8853#true} call #t~ret13 := main(); {8853#true} is VALID [2021-09-13 23:59:57,906 INFO L281 TraceCheckUtils]: 5: Hoare triple {8853#true} ~len~0 := 3bv32; {8853#true} is VALID [2021-09-13 23:59:57,907 INFO L264 TraceCheckUtils]: 6: Hoare triple {8853#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {8853#true} is VALID [2021-09-13 23:59:57,907 INFO L281 TraceCheckUtils]: 7: Hoare triple {8853#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {8853#true} is VALID [2021-09-13 23:59:57,907 INFO L281 TraceCheckUtils]: 8: Hoare triple {8853#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {8853#true} is VALID [2021-09-13 23:59:57,907 INFO L281 TraceCheckUtils]: 9: Hoare triple {8853#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {8853#true} is VALID [2021-09-13 23:59:57,907 INFO L281 TraceCheckUtils]: 10: Hoare triple {8853#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {8853#true} is VALID [2021-09-13 23:59:57,907 INFO L281 TraceCheckUtils]: 11: Hoare triple {8853#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {8891#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} is VALID [2021-09-13 23:59:57,908 INFO L281 TraceCheckUtils]: 12: Hoare triple {8891#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {8895#(and (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:57,909 INFO L281 TraceCheckUtils]: 13: Hoare triple {8895#(and (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {8895#(and (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:57,909 INFO L281 TraceCheckUtils]: 14: Hoare triple {8895#(and (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {8895#(and (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:57,910 INFO L281 TraceCheckUtils]: 15: Hoare triple {8895#(and (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {8905#(and (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:57,910 INFO L281 TraceCheckUtils]: 16: Hoare triple {8905#(and (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {8909#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:57,911 INFO L281 TraceCheckUtils]: 17: Hoare triple {8909#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {8913#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:57,911 INFO L281 TraceCheckUtils]: 18: Hoare triple {8913#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {8913#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:57,912 INFO L281 TraceCheckUtils]: 19: Hoare triple {8913#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {8920#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= dll_circular_create_~head~0.offset (select (select |#memory_$Pointer$.offset| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-13 23:59:57,914 INFO L281 TraceCheckUtils]: 20: Hoare triple {8920#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= dll_circular_create_~head~0.offset (select (select |#memory_$Pointer$.offset| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {8924#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) (_ bv0 32)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (exists ((dll_circular_create_~head~0.base (_ BitVec 32))) (and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (= dll_circular_create_~new_head~0.offset (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (_ bv4 32))))))} is VALID [2021-09-13 23:59:57,915 INFO L281 TraceCheckUtils]: 21: Hoare triple {8924#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) (_ bv0 32)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (exists ((dll_circular_create_~head~0.base (_ BitVec 32))) (and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (= dll_circular_create_~new_head~0.offset (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (_ bv4 32))))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {8928#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.base_43 (_ BitVec 32))) (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)) (_ bv0 32)) (= dll_circular_create_~head~0.offset (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (not (= dll_circular_create_~head~0.base v_dll_circular_create_~head~0.base_43)))))} is VALID [2021-09-13 23:59:57,915 INFO L281 TraceCheckUtils]: 22: Hoare triple {8928#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.base_43 (_ BitVec 32))) (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)) (_ bv0 32)) (= dll_circular_create_~head~0.offset (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (not (= dll_circular_create_~head~0.base v_dll_circular_create_~head~0.base_43)))))} assume !~bvsgt32(~len, 1bv32); {8928#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.base_43 (_ BitVec 32))) (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)) (_ bv0 32)) (= dll_circular_create_~head~0.offset (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (not (= dll_circular_create_~head~0.base v_dll_circular_create_~head~0.base_43)))))} is VALID [2021-09-13 23:59:57,921 INFO L281 TraceCheckUtils]: 23: Hoare triple {8928#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.base_43 (_ BitVec 32))) (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)) (_ bv0 32)) (= dll_circular_create_~head~0.offset (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (not (= dll_circular_create_~head~0.base v_dll_circular_create_~head~0.base_43)))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {8935#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (= dll_circular_create_~head~0.offset (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset)) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)))) (exists ((v_dll_circular_create_~head~0.base_43 (_ BitVec 32))) (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)) (_ bv0 32)) (= dll_circular_create_~head~0.offset (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (not (= dll_circular_create_~head~0.base v_dll_circular_create_~head~0.base_43)))))} is VALID [2021-09-13 23:59:57,926 INFO L281 TraceCheckUtils]: 24: Hoare triple {8935#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (= dll_circular_create_~head~0.offset (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset)) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)))) (exists ((v_dll_circular_create_~head~0.base_43 (_ BitVec 32))) (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)) (_ bv0 32)) (= dll_circular_create_~head~0.offset (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (not (= dll_circular_create_~head~0.base v_dll_circular_create_~head~0.base_43)))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {8939#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)))))) (exists ((v_dll_circular_create_~head~0.base_43 (_ BitVec 32))) (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)) (_ bv0 32)) (= dll_circular_create_~head~0.offset (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (not (= dll_circular_create_~head~0.base v_dll_circular_create_~head~0.base_43)))))} is VALID [2021-09-13 23:59:57,927 INFO L281 TraceCheckUtils]: 25: Hoare triple {8939#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)))))) (exists ((v_dll_circular_create_~head~0.base_43 (_ BitVec 32))) (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)) (_ bv0 32)) (= dll_circular_create_~head~0.offset (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (not (= dll_circular_create_~head~0.base v_dll_circular_create_~head~0.base_43)))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {8943#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (= |dll_circular_create_#res.offset| (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))))) (not (= dll_circular_create_~last~0.base |dll_circular_create_#res.base|)))) (exists ((v_dll_circular_create_~head~0.base_43 (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (_ bv0 32)) (= |dll_circular_create_#res.offset| (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)) (_ bv0 32)) (not (= v_dll_circular_create_~head~0.base_43 |dll_circular_create_#res.base|)))))} is VALID [2021-09-13 23:59:57,928 INFO L281 TraceCheckUtils]: 26: Hoare triple {8943#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (= |dll_circular_create_#res.offset| (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))))) (not (= dll_circular_create_~last~0.base |dll_circular_create_#res.base|)))) (exists ((v_dll_circular_create_~head~0.base_43 (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (_ bv0 32)) (= |dll_circular_create_#res.offset| (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)) (_ bv0 32)) (not (= v_dll_circular_create_~head~0.base_43 |dll_circular_create_#res.base|)))))} assume true; {8943#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (= |dll_circular_create_#res.offset| (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))))) (not (= dll_circular_create_~last~0.base |dll_circular_create_#res.base|)))) (exists ((v_dll_circular_create_~head~0.base_43 (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (_ bv0 32)) (= |dll_circular_create_#res.offset| (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)) (_ bv0 32)) (not (= v_dll_circular_create_~head~0.base_43 |dll_circular_create_#res.base|)))))} is VALID [2021-09-13 23:59:57,929 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {8943#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (= |dll_circular_create_#res.offset| (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))))) (not (= dll_circular_create_~last~0.base |dll_circular_create_#res.base|)))) (exists ((v_dll_circular_create_~head~0.base_43 (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (_ bv0 32)) (= |dll_circular_create_#res.offset| (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)) (_ bv0 32)) (not (= v_dll_circular_create_~head~0.base_43 |dll_circular_create_#res.base|)))))} {8853#true} #219#return; {8950#(and (exists ((v_dll_circular_create_~head~0.base_43 (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |main_#t~ret12.base|) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)) (_ bv0 32)) (not (= |main_#t~ret12.base| v_dll_circular_create_~head~0.base_43)) (= |main_#t~ret12.offset| (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))))) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (= |main_#t~ret12.offset| (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) (select (select |#memory_$Pointer$.offset| |main_#t~ret12.base|) (bvadd (_ bv4 32) |main_#t~ret12.offset|)))) (not (= dll_circular_create_~last~0.base |main_#t~ret12.base|)))))} is VALID [2021-09-13 23:59:57,931 INFO L281 TraceCheckUtils]: 28: Hoare triple {8950#(and (exists ((v_dll_circular_create_~head~0.base_43 (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |main_#t~ret12.base|) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)) (_ bv0 32)) (not (= |main_#t~ret12.base| v_dll_circular_create_~head~0.base_43)) (= |main_#t~ret12.offset| (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))))) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (= |main_#t~ret12.offset| (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) (select (select |#memory_$Pointer$.offset| |main_#t~ret12.base|) (bvadd (_ bv4 32) |main_#t~ret12.offset|)))) (not (= dll_circular_create_~last~0.base |main_#t~ret12.base|)))))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {8954#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (not (= dll_circular_create_~last~0.base main_~head~1.base)) (= main_~head~1.offset (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) (select (select |#memory_$Pointer$.offset| main_~head~1.base) (bvadd (_ bv4 32) main_~head~1.offset)))))) (exists ((v_dll_circular_create_~head~0.base_43 (_ BitVec 32))) (and (not (= main_~head~1.base v_dll_circular_create_~head~0.base_43)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)) (_ bv0 32)) (= main_~head~1.offset (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (= (select (select |#memory_$Pointer$.offset| main_~head~1.base) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (_ bv0 32)))))} is VALID [2021-09-13 23:59:57,932 INFO L264 TraceCheckUtils]: 29: Hoare triple {8954#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (not (= dll_circular_create_~last~0.base main_~head~1.base)) (= main_~head~1.offset (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) (select (select |#memory_$Pointer$.offset| main_~head~1.base) (bvadd (_ bv4 32) main_~head~1.offset)))))) (exists ((v_dll_circular_create_~head~0.base_43 (_ BitVec 32))) (and (not (= main_~head~1.base v_dll_circular_create_~head~0.base_43)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)) (_ bv0 32)) (= main_~head~1.offset (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (= (select (select |#memory_$Pointer$.offset| main_~head~1.base) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (_ bv0 32)))))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {8958#(exists ((dll_circular_create_~last~0.base (_ BitVec 32)) (v_dll_circular_create_~head~0.base_43 (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) (select (select |#memory_$Pointer$.offset| |_destroy_in_nondeterministic_order_#in~head.base|) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))))) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (= (select (select |#memory_$Pointer$.offset| |_destroy_in_nondeterministic_order_#in~head.base|) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (_ bv0 32)) (not (= dll_circular_create_~last~0.base |_destroy_in_nondeterministic_order_#in~head.base|)) (not (= |_destroy_in_nondeterministic_order_#in~head.base| v_dll_circular_create_~head~0.base_43)) (= |_destroy_in_nondeterministic_order_#in~head.offset| (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)) (_ bv0 32))))} is VALID [2021-09-13 23:59:57,934 INFO L281 TraceCheckUtils]: 30: Hoare triple {8958#(exists ((dll_circular_create_~last~0.base (_ BitVec 32)) (v_dll_circular_create_~head~0.base_43 (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) (select (select |#memory_$Pointer$.offset| |_destroy_in_nondeterministic_order_#in~head.base|) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))))) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (= (select (select |#memory_$Pointer$.offset| |_destroy_in_nondeterministic_order_#in~head.base|) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (_ bv0 32)) (not (= dll_circular_create_~last~0.base |_destroy_in_nondeterministic_order_#in~head.base|)) (not (= |_destroy_in_nondeterministic_order_#in~head.base| v_dll_circular_create_~head~0.base_43)) (= |_destroy_in_nondeterministic_order_#in~head.offset| (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)) (_ bv0 32))))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {8962#(exists ((dll_circular_create_~last~0.base (_ BitVec 32)) (v_dll_circular_create_~head~0.base_43 (_ BitVec 32))) (and (not (= dll_circular_create_~last~0.base _destroy_in_nondeterministic_order_~head.base)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))))) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.offset) (= (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (_ bv0 32)) (not (= _destroy_in_nondeterministic_order_~head.base v_dll_circular_create_~head~0.base_43))))} is VALID [2021-09-13 23:59:57,934 INFO L281 TraceCheckUtils]: 31: Hoare triple {8962#(exists ((dll_circular_create_~last~0.base (_ BitVec 32)) (v_dll_circular_create_~head~0.base_43 (_ BitVec 32))) (and (not (= dll_circular_create_~last~0.base _destroy_in_nondeterministic_order_~head.base)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))))) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.offset) (= (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (_ bv0 32)) (not (= _destroy_in_nondeterministic_order_~head.base v_dll_circular_create_~head~0.base_43))))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {8962#(exists ((dll_circular_create_~last~0.base (_ BitVec 32)) (v_dll_circular_create_~head~0.base_43 (_ BitVec 32))) (and (not (= dll_circular_create_~last~0.base _destroy_in_nondeterministic_order_~head.base)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))))) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.offset) (= (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (_ bv0 32)) (not (= _destroy_in_nondeterministic_order_~head.base v_dll_circular_create_~head~0.base_43))))} is VALID [2021-09-13 23:59:57,934 INFO L281 TraceCheckUtils]: 32: Hoare triple {8962#(exists ((dll_circular_create_~last~0.base (_ BitVec 32)) (v_dll_circular_create_~head~0.base_43 (_ BitVec 32))) (and (not (= dll_circular_create_~last~0.base _destroy_in_nondeterministic_order_~head.base)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))))) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.offset) (= (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (_ bv0 32)) (not (= _destroy_in_nondeterministic_order_~head.base v_dll_circular_create_~head~0.base_43))))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {8962#(exists ((dll_circular_create_~last~0.base (_ BitVec 32)) (v_dll_circular_create_~head~0.base_43 (_ BitVec 32))) (and (not (= dll_circular_create_~last~0.base _destroy_in_nondeterministic_order_~head.base)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))))) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.offset) (= (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (_ bv0 32)) (not (= _destroy_in_nondeterministic_order_~head.base v_dll_circular_create_~head~0.base_43))))} is VALID [2021-09-13 23:59:57,936 INFO L281 TraceCheckUtils]: 33: Hoare triple {8962#(exists ((dll_circular_create_~last~0.base (_ BitVec 32)) (v_dll_circular_create_~head~0.base_43 (_ BitVec 32))) (and (not (= dll_circular_create_~last~0.base _destroy_in_nondeterministic_order_~head.base)) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))))) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (= (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.offset) (= (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) (select (select |#memory_$Pointer$.offset| v_dll_circular_create_~head~0.base_43) (_ bv4 32))) (_ bv0 32)) (not (= _destroy_in_nondeterministic_order_~head.base v_dll_circular_create_~head~0.base_43))))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {8972#(= (_ bv0 32) |_destroy_in_nondeterministic_order_#t~mem6.offset|)} is VALID [2021-09-13 23:59:57,936 INFO L281 TraceCheckUtils]: 34: Hoare triple {8972#(= (_ bv0 32) |_destroy_in_nondeterministic_order_#t~mem6.offset|)} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {8976#(= _destroy_in_nondeterministic_order_~succ~0.offset (_ bv0 32))} is VALID [2021-09-13 23:59:57,936 INFO L281 TraceCheckUtils]: 35: Hoare triple {8976#(= _destroy_in_nondeterministic_order_~succ~0.offset (_ bv0 32))} assume !(0bv32 != #t~nondet7);havoc #t~nondet7; {8976#(= _destroy_in_nondeterministic_order_~succ~0.offset (_ bv0 32))} is VALID [2021-09-13 23:59:57,937 INFO L281 TraceCheckUtils]: 36: Hoare triple {8976#(= _destroy_in_nondeterministic_order_~succ~0.offset (_ bv0 32))} assume 0bv32 != #t~nondet9;havoc #t~nondet9; {8976#(= _destroy_in_nondeterministic_order_~succ~0.offset (_ bv0 32))} is VALID [2021-09-13 23:59:57,937 INFO L281 TraceCheckUtils]: 37: Hoare triple {8976#(= _destroy_in_nondeterministic_order_~succ~0.offset (_ bv0 32))} assume !(0bv32 == ~succ~0.offset); {8854#false} is VALID [2021-09-13 23:59:57,937 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-13 23:59:57,937 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-14 00:00:03,538 WARN L838 $PredicateComparison]: unable to prove that (forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select (store |c_#memory_$Pointer$.offset| c_dll_circular_create_~last~0.base (store (select |c_#memory_$Pointer$.offset| c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~head~0.offset)) c_dll_circular_create_~head~0.base) c_dll_circular_create_~head~0.offset) (_ bv0 32))) is different from false [2021-09-14 00:00:42,175 INFO L281 TraceCheckUtils]: 37: Hoare triple {8976#(= _destroy_in_nondeterministic_order_~succ~0.offset (_ bv0 32))} assume !(0bv32 == ~succ~0.offset); {8854#false} is VALID [2021-09-14 00:00:42,176 INFO L281 TraceCheckUtils]: 36: Hoare triple {8976#(= _destroy_in_nondeterministic_order_~succ~0.offset (_ bv0 32))} assume 0bv32 != #t~nondet9;havoc #t~nondet9; {8976#(= _destroy_in_nondeterministic_order_~succ~0.offset (_ bv0 32))} is VALID [2021-09-14 00:00:42,176 INFO L281 TraceCheckUtils]: 35: Hoare triple {8976#(= _destroy_in_nondeterministic_order_~succ~0.offset (_ bv0 32))} assume !(0bv32 != #t~nondet7);havoc #t~nondet7; {8976#(= _destroy_in_nondeterministic_order_~succ~0.offset (_ bv0 32))} is VALID [2021-09-14 00:00:42,176 INFO L281 TraceCheckUtils]: 34: Hoare triple {8972#(= (_ bv0 32) |_destroy_in_nondeterministic_order_#t~mem6.offset|)} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {8976#(= _destroy_in_nondeterministic_order_~succ~0.offset (_ bv0 32))} is VALID [2021-09-14 00:00:42,177 INFO L281 TraceCheckUtils]: 33: Hoare triple {8998#(= (_ bv0 32) (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {8972#(= (_ bv0 32) |_destroy_in_nondeterministic_order_#t~mem6.offset|)} is VALID [2021-09-14 00:00:42,177 INFO L281 TraceCheckUtils]: 32: Hoare triple {8998#(= (_ bv0 32) (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {8998#(= (_ bv0 32) (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))} is VALID [2021-09-14 00:00:42,178 INFO L281 TraceCheckUtils]: 31: Hoare triple {8998#(= (_ bv0 32) (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {8998#(= (_ bv0 32) (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))} is VALID [2021-09-14 00:00:42,178 INFO L281 TraceCheckUtils]: 30: Hoare triple {9008#(= (select (select |#memory_$Pointer$.offset| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|) (_ bv0 32))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {8998#(= (_ bv0 32) (select (select |#memory_$Pointer$.offset| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))} is VALID [2021-09-14 00:00:42,178 INFO L264 TraceCheckUtils]: 29: Hoare triple {9012#(= (_ bv0 32) (select (select |#memory_$Pointer$.offset| main_~head~1.base) main_~head~1.offset))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {9008#(= (select (select |#memory_$Pointer$.offset| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|) (_ bv0 32))} is VALID [2021-09-14 00:00:42,179 INFO L281 TraceCheckUtils]: 28: Hoare triple {9016#(= (select (select |#memory_$Pointer$.offset| |main_#t~ret12.base|) |main_#t~ret12.offset|) (_ bv0 32))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {9012#(= (_ bv0 32) (select (select |#memory_$Pointer$.offset| main_~head~1.base) main_~head~1.offset))} is VALID [2021-09-14 00:00:42,180 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {9023#(= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) (_ bv0 32))} {8853#true} #219#return; {9016#(= (select (select |#memory_$Pointer$.offset| |main_#t~ret12.base|) |main_#t~ret12.offset|) (_ bv0 32))} is VALID [2021-09-14 00:00:42,180 INFO L281 TraceCheckUtils]: 26: Hoare triple {9023#(= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) (_ bv0 32))} assume true; {9023#(= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) (_ bv0 32))} is VALID [2021-09-14 00:00:42,180 INFO L281 TraceCheckUtils]: 25: Hoare triple {9030#(= (_ bv0 32) (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {9023#(= (select (select |#memory_$Pointer$.offset| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) (_ bv0 32))} is VALID [2021-09-14 00:00:42,182 INFO L281 TraceCheckUtils]: 24: Hoare triple {9030#(= (_ bv0 32) (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {9030#(= (_ bv0 32) (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))} is VALID [2021-09-14 00:00:42,183 INFO L281 TraceCheckUtils]: 23: Hoare triple {9037#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select (store |#memory_$Pointer$.offset| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.offset)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) (_ bv0 32)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {9030#(= (_ bv0 32) (select (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))} is VALID [2021-09-14 00:00:42,183 INFO L281 TraceCheckUtils]: 22: Hoare triple {9037#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select (store |#memory_$Pointer$.offset| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.offset)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) (_ bv0 32)))} assume !~bvsgt32(~len, 1bv32); {9037#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select (store |#memory_$Pointer$.offset| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.offset)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) (_ bv0 32)))} is VALID [2021-09-14 00:00:42,184 INFO L281 TraceCheckUtils]: 21: Hoare triple {9044#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select (store |#memory_$Pointer$.offset| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~new_head~0.offset)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) (_ bv0 32)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {9037#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select (store |#memory_$Pointer$.offset| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.offset)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) (_ bv0 32)))} is VALID [2021-09-14 00:00:42,185 INFO L281 TraceCheckUtils]: 20: Hoare triple {9048#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select (store (store |#memory_$Pointer$.offset| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) dll_circular_create_~new_head~0.offset)) dll_circular_create_~last~0.base (store (select (store |#memory_$Pointer$.offset| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) dll_circular_create_~new_head~0.offset)) dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~new_head~0.offset)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) (_ bv0 32)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {9044#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select (store |#memory_$Pointer$.offset| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.offset| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~new_head~0.offset)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) (_ bv0 32)))} is VALID [2021-09-14 00:00:42,189 INFO L281 TraceCheckUtils]: 19: Hoare triple {9052#(and (or (and (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base) (= dll_circular_create_~new_head~0.offset (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) (= dll_circular_create_~new_head~0.offset (_ bv0 32))) (and (or (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~new_head~0.offset (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)))) (= dll_circular_create_~head~0.offset (_ bv0 32)))) (or (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= dll_circular_create_~new_head~0.offset (_ bv0 32))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {9048#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select (store (store |#memory_$Pointer$.offset| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) dll_circular_create_~new_head~0.offset)) dll_circular_create_~last~0.base (store (select (store |#memory_$Pointer$.offset| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.offset| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) dll_circular_create_~new_head~0.offset)) dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~new_head~0.offset)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) (_ bv0 32)))} is VALID [2021-09-14 00:00:42,190 INFO L281 TraceCheckUtils]: 18: Hoare triple {9052#(and (or (and (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base) (= dll_circular_create_~new_head~0.offset (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) (= dll_circular_create_~new_head~0.offset (_ bv0 32))) (and (or (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~new_head~0.offset (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)))) (= dll_circular_create_~head~0.offset (_ bv0 32)))) (or (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= dll_circular_create_~new_head~0.offset (_ bv0 32))))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {9052#(and (or (and (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base) (= dll_circular_create_~new_head~0.offset (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) (= dll_circular_create_~new_head~0.offset (_ bv0 32))) (and (or (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~new_head~0.offset (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)))) (= dll_circular_create_~head~0.offset (_ bv0 32)))) (or (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= dll_circular_create_~new_head~0.offset (_ bv0 32))))} is VALID [2021-09-14 00:00:42,191 INFO L281 TraceCheckUtils]: 17: Hoare triple {9059#(or (= dll_circular_create_~head~0.offset (_ bv0 32)) (forall ((v_dll_circular_create_~new_head~0.base_44 (_ BitVec 32))) (or (not (= (_ bv0 1) (bvneg (select |#valid| v_dll_circular_create_~new_head~0.base_44)))) (and (= dll_circular_create_~head~0.base v_dll_circular_create_~new_head~0.base_44) (= (_ bv0 32) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))))))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {9052#(and (or (and (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base) (= dll_circular_create_~new_head~0.offset (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) (= dll_circular_create_~new_head~0.offset (_ bv0 32))) (and (or (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~new_head~0.offset (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)))) (= dll_circular_create_~head~0.offset (_ bv0 32)))) (or (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= dll_circular_create_~new_head~0.offset (_ bv0 32))))} is VALID [2021-09-14 00:00:42,192 INFO L281 TraceCheckUtils]: 16: Hoare triple {9063#(or (forall ((v_dll_circular_create_~new_head~0.base_44 (_ BitVec 32))) (or (not (= (_ bv0 1) (bvneg (select |#valid| v_dll_circular_create_~new_head~0.base_44)))) (and (= (bvadd dll_circular_create_~new_head~0.offset (_ bv4 32)) (_ bv0 32)) (= dll_circular_create_~new_head~0.base v_dll_circular_create_~new_head~0.base_44)))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {9059#(or (= dll_circular_create_~head~0.offset (_ bv0 32)) (forall ((v_dll_circular_create_~new_head~0.base_44 (_ BitVec 32))) (or (not (= (_ bv0 1) (bvneg (select |#valid| v_dll_circular_create_~new_head~0.base_44)))) (and (= dll_circular_create_~head~0.base v_dll_circular_create_~new_head~0.base_44) (= (_ bv0 32) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))))))} is VALID [2021-09-14 00:00:42,193 INFO L281 TraceCheckUtils]: 15: Hoare triple {9067#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (forall ((v_dll_circular_create_~new_head~0.base_44 (_ BitVec 32))) (or (not (= (_ bv0 1) (bvneg (select |#valid| v_dll_circular_create_~new_head~0.base_44)))) (and (= (bvadd dll_circular_create_~new_head~0.offset (_ bv4 32)) (_ bv0 32)) (= dll_circular_create_~new_head~0.base v_dll_circular_create_~new_head~0.base_44)))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {9063#(or (forall ((v_dll_circular_create_~new_head~0.base_44 (_ BitVec 32))) (or (not (= (_ bv0 1) (bvneg (select |#valid| v_dll_circular_create_~new_head~0.base_44)))) (and (= (bvadd dll_circular_create_~new_head~0.offset (_ bv4 32)) (_ bv0 32)) (= dll_circular_create_~new_head~0.base v_dll_circular_create_~new_head~0.base_44)))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:00:42,193 INFO L281 TraceCheckUtils]: 14: Hoare triple {9067#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (forall ((v_dll_circular_create_~new_head~0.base_44 (_ BitVec 32))) (or (not (= (_ bv0 1) (bvneg (select |#valid| v_dll_circular_create_~new_head~0.base_44)))) (and (= (bvadd dll_circular_create_~new_head~0.offset (_ bv4 32)) (_ bv0 32)) (= dll_circular_create_~new_head~0.base v_dll_circular_create_~new_head~0.base_44)))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {9067#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (forall ((v_dll_circular_create_~new_head~0.base_44 (_ BitVec 32))) (or (not (= (_ bv0 1) (bvneg (select |#valid| v_dll_circular_create_~new_head~0.base_44)))) (and (= (bvadd dll_circular_create_~new_head~0.offset (_ bv4 32)) (_ bv0 32)) (= dll_circular_create_~new_head~0.base v_dll_circular_create_~new_head~0.base_44)))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:00:42,193 INFO L281 TraceCheckUtils]: 13: Hoare triple {9067#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (forall ((v_dll_circular_create_~new_head~0.base_44 (_ BitVec 32))) (or (not (= (_ bv0 1) (bvneg (select |#valid| v_dll_circular_create_~new_head~0.base_44)))) (and (= (bvadd dll_circular_create_~new_head~0.offset (_ bv4 32)) (_ bv0 32)) (= dll_circular_create_~new_head~0.base v_dll_circular_create_~new_head~0.base_44)))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {9067#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (forall ((v_dll_circular_create_~new_head~0.base_44 (_ BitVec 32))) (or (not (= (_ bv0 1) (bvneg (select |#valid| v_dll_circular_create_~new_head~0.base_44)))) (and (= (bvadd dll_circular_create_~new_head~0.offset (_ bv4 32)) (_ bv0 32)) (= dll_circular_create_~new_head~0.base v_dll_circular_create_~new_head~0.base_44)))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:00:42,194 INFO L281 TraceCheckUtils]: 12: Hoare triple {8853#true} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {9067#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (forall ((v_dll_circular_create_~new_head~0.base_44 (_ BitVec 32))) (or (not (= (_ bv0 1) (bvneg (select |#valid| v_dll_circular_create_~new_head~0.base_44)))) (and (= (bvadd dll_circular_create_~new_head~0.offset (_ bv4 32)) (_ bv0 32)) (= dll_circular_create_~new_head~0.base v_dll_circular_create_~new_head~0.base_44)))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:00:42,194 INFO L281 TraceCheckUtils]: 11: Hoare triple {8853#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {8853#true} is VALID [2021-09-14 00:00:42,194 INFO L281 TraceCheckUtils]: 10: Hoare triple {8853#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {8853#true} is VALID [2021-09-14 00:00:42,194 INFO L281 TraceCheckUtils]: 9: Hoare triple {8853#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {8853#true} is VALID [2021-09-14 00:00:42,194 INFO L281 TraceCheckUtils]: 8: Hoare triple {8853#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {8853#true} is VALID [2021-09-14 00:00:42,194 INFO L281 TraceCheckUtils]: 7: Hoare triple {8853#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {8853#true} is VALID [2021-09-14 00:00:42,194 INFO L264 TraceCheckUtils]: 6: Hoare triple {8853#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {8853#true} is VALID [2021-09-14 00:00:42,194 INFO L281 TraceCheckUtils]: 5: Hoare triple {8853#true} ~len~0 := 3bv32; {8853#true} is VALID [2021-09-14 00:00:42,194 INFO L264 TraceCheckUtils]: 4: Hoare triple {8853#true} call #t~ret13 := main(); {8853#true} is VALID [2021-09-14 00:00:42,194 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {8853#true} {8853#true} #223#return; {8853#true} is VALID [2021-09-14 00:00:42,194 INFO L281 TraceCheckUtils]: 2: Hoare triple {8853#true} assume true; {8853#true} is VALID [2021-09-14 00:00:42,194 INFO L281 TraceCheckUtils]: 1: Hoare triple {8853#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {8853#true} is VALID [2021-09-14 00:00:42,195 INFO L264 TraceCheckUtils]: 0: Hoare triple {8853#true} call ULTIMATE.init(); {8853#true} is VALID [2021-09-14 00:00:42,195 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 2 proven. 2 refuted. 2 times theorem prover too weak. 0 trivial. 1 not checked. [2021-09-14 00:00:42,195 INFO L139 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2021-09-14 00:00:42,195 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [2067904849] [2021-09-14 00:00:42,195 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleMathsat [2067904849] provided 0 perfect and 2 imperfect interpolant sequences [2021-09-14 00:00:42,195 INFO L186 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2021-09-14 00:00:42,195 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 16] total 31 [2021-09-14 00:00:42,195 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [721394482] [2021-09-14 00:00:42,196 INFO L78 Accepts]: Start accepts. Automaton has has 32 states, 29 states have (on average 1.8275862068965518) internal successors, (53), 28 states have internal predecessors, (53), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) Word has length 38 [2021-09-14 00:00:42,196 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-14 00:00:42,196 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 32 states, 29 states have (on average 1.8275862068965518) internal successors, (53), 28 states have internal predecessors, (53), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:00:42,294 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-14 00:00:42,294 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 32 states [2021-09-14 00:00:42,295 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2021-09-14 00:00:42,295 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2021-09-14 00:00:42,295 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=94, Invalid=824, Unknown=16, NotChecked=58, Total=992 [2021-09-14 00:00:42,295 INFO L87 Difference]: Start difference. First operand 117 states and 122 transitions. Second operand has 32 states, 29 states have (on average 1.8275862068965518) internal successors, (53), 28 states have internal predecessors, (53), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:00:51,602 WARN L838 $PredicateComparison]: unable to prove that (and (forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select (let ((.cse0 (store |c_#memory_$Pointer$.offset| c_dll_circular_create_~head~0.base (store (select |c_#memory_$Pointer$.offset| c_dll_circular_create_~head~0.base) (bvadd (_ bv4 32) c_dll_circular_create_~head~0.offset) c_dll_circular_create_~new_head~0.offset)))) (store .cse0 c_dll_circular_create_~last~0.base (store (select .cse0 c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.offset))) c_dll_circular_create_~new_head~0.base) c_dll_circular_create_~new_head~0.offset) (_ bv0 32))) (or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |c_#valid| c_dll_circular_create_~head~0.base))) (_ bv1 1)))) (forall ((v_dll_circular_create_~new_head~0.base_44 (_ BitVec 32))) (or (not (= (_ bv0 1) (bvneg (select |c_#valid| v_dll_circular_create_~new_head~0.base_44)))) (and (= (bvadd c_dll_circular_create_~new_head~0.offset (_ bv4 32)) (_ bv0 32)) (= c_dll_circular_create_~new_head~0.base v_dll_circular_create_~new_head~0.base_44)))) (= c_dll_circular_create_~new_head~0.offset (_ bv0 32)))) is different from false [2021-09-14 00:00:53,610 WARN L838 $PredicateComparison]: unable to prove that (and (forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select (store |c_#memory_$Pointer$.offset| c_dll_circular_create_~last~0.base (store (select |c_#memory_$Pointer$.offset| c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.offset)) c_dll_circular_create_~new_head~0.base) c_dll_circular_create_~new_head~0.offset) (_ bv0 32))) (or (forall ((v_dll_circular_create_~new_head~0.base_44 (_ BitVec 32))) (or (not (= (_ bv0 1) (bvneg (select |c_#valid| v_dll_circular_create_~new_head~0.base_44)))) (and (= (bvadd c_dll_circular_create_~new_head~0.offset (_ bv4 32)) (_ bv0 32)) (= c_dll_circular_create_~new_head~0.base v_dll_circular_create_~new_head~0.base_44)))) (= c_dll_circular_create_~new_head~0.offset (_ bv0 32)))) is different from false [2021-09-14 00:01:41,614 WARN L210 SmtUtils]: Spent 12.82s on a formula simplification that was a NOOP. DAG size: 30 [2021-09-14 00:01:43,178 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:01:43,178 INFO L93 Difference]: Finished difference Result 135 states and 143 transitions. [2021-09-14 00:01:43,178 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2021-09-14 00:01:43,179 INFO L78 Accepts]: Start accepts. Automaton has has 32 states, 29 states have (on average 1.8275862068965518) internal successors, (53), 28 states have internal predecessors, (53), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) Word has length 38 [2021-09-14 00:01:43,179 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-14 00:01:43,179 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 29 states have (on average 1.8275862068965518) internal successors, (53), 28 states have internal predecessors, (53), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:01:43,180 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 147 transitions. [2021-09-14 00:01:43,180 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 29 states have (on average 1.8275862068965518) internal successors, (53), 28 states have internal predecessors, (53), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:01:43,181 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 147 transitions. [2021-09-14 00:01:43,181 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 34 states and 147 transitions. [2021-09-14 00:01:43,353 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 147 edges. 147 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-14 00:01:43,355 INFO L225 Difference]: With dead ends: 135 [2021-09-14 00:01:43,355 INFO L226 Difference]: Without dead ends: 135 [2021-09-14 00:01:43,355 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 44 SyntacticMatches, 3 SemanticMatches, 40 ConstructedPredicates, 3 IntricatePredicates, 0 DeprecatedPredicates, 182 ImplicationChecksByTransitivity, 99880.47ms TimeCoverageRelationStatistics Valid=173, Invalid=1287, Unknown=34, NotChecked=228, Total=1722 [2021-09-14 00:01:43,355 INFO L928 BasicCegarLoop]: 8 mSDtfsCounter, 89 mSDsluCounter, 1217 mSDsCounter, 0 mSdLazyCounter, 795 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1050.34ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 90 SdHoareTripleChecker+Valid, 130 SdHoareTripleChecker+Invalid, 1646 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 12.75ms SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 795 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 843 IncrementalHoareTripleChecker+Unchecked, 1056.24ms IncrementalHoareTripleChecker+Time [2021-09-14 00:01:43,356 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [90 Valid, 130 Invalid, 1646 Unknown, 0 Unchecked, 12.75ms Time], IncrementalHoareTripleChecker [8 Valid, 795 Invalid, 0 Unknown, 843 Unchecked, 1056.24ms Time] [2021-09-14 00:01:43,356 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 135 states. [2021-09-14 00:01:43,357 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 135 to 113. [2021-09-14 00:01:43,357 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-14 00:01:43,358 INFO L82 GeneralOperation]: Start isEquivalent. First operand 135 states. Second operand has 113 states, 79 states have (on average 1.4050632911392404) internal successors, (111), 105 states have internal predecessors, (111), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:01:43,358 INFO L74 IsIncluded]: Start isIncluded. First operand 135 states. Second operand has 113 states, 79 states have (on average 1.4050632911392404) internal successors, (111), 105 states have internal predecessors, (111), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:01:43,358 INFO L87 Difference]: Start difference. First operand 135 states. Second operand has 113 states, 79 states have (on average 1.4050632911392404) internal successors, (111), 105 states have internal predecessors, (111), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:01:43,373 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:01:43,373 INFO L93 Difference]: Finished difference Result 135 states and 143 transitions. [2021-09-14 00:01:43,373 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 143 transitions. [2021-09-14 00:01:43,374 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-14 00:01:43,374 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-14 00:01:43,374 INFO L74 IsIncluded]: Start isIncluded. First operand has 113 states, 79 states have (on average 1.4050632911392404) internal successors, (111), 105 states have internal predecessors, (111), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 135 states. [2021-09-14 00:01:43,384 INFO L87 Difference]: Start difference. First operand has 113 states, 79 states have (on average 1.4050632911392404) internal successors, (111), 105 states have internal predecessors, (111), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 135 states. [2021-09-14 00:01:43,386 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:01:43,389 INFO L93 Difference]: Finished difference Result 135 states and 143 transitions. [2021-09-14 00:01:43,389 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 143 transitions. [2021-09-14 00:01:43,391 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-14 00:01:43,391 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-14 00:01:43,391 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-14 00:01:43,391 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-14 00:01:43,392 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 113 states, 79 states have (on average 1.4050632911392404) internal successors, (111), 105 states have internal predecessors, (111), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:01:43,393 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 118 transitions. [2021-09-14 00:01:43,393 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 118 transitions. Word has length 38 [2021-09-14 00:01:43,393 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-14 00:01:43,393 INFO L470 AbstractCegarLoop]: Abstraction has 113 states and 118 transitions. [2021-09-14 00:01:43,394 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 32 states, 29 states have (on average 1.8275862068965518) internal successors, (53), 28 states have internal predecessors, (53), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:01:43,394 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 118 transitions. [2021-09-14 00:01:43,395 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2021-09-14 00:01:43,395 INFO L505 BasicCegarLoop]: Found error trace [2021-09-14 00:01:43,395 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1] [2021-09-14 00:01:43,405 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (15)] Forceful destruction successful, exit code 0 [2021-09-14 00:01:43,596 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-09-14 00:01:43,596 INFO L402 AbstractCegarLoop]: === Iteration 15 === Targeting _destroy_in_nondeterministic_orderErr35ASSERT_VIOLATIONMEMORY_FREE === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-14 00:01:43,596 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-14 00:01:43,596 INFO L82 PathProgramCache]: Analyzing trace with hash 544021278, now seen corresponding path program 1 times [2021-09-14 00:01:43,597 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-09-14 00:01:43,597 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [344666951] [2021-09-14 00:01:43,597 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-14 00:01:43,597 INFO L170 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-09-14 00:01:43,597 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-09-14 00:01:43,610 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) [2021-09-14 00:01:43,613 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (16)] Waiting until timeout for monitored process [2021-09-14 00:01:43,715 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-14 00:01:43,722 INFO L263 TraceCheckSpWp]: Trace formula consists of 151 conjuncts, 20 conjunts are in the unsatisfiable core [2021-09-14 00:01:43,736 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-14 00:01:43,738 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-14 00:01:44,097 INFO L388 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 17 [2021-09-14 00:01:44,383 INFO L388 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 23 treesize of output 11 [2021-09-14 00:01:44,494 INFO L264 TraceCheckUtils]: 0: Hoare triple {9652#true} call ULTIMATE.init(); {9652#true} is VALID [2021-09-14 00:01:44,494 INFO L281 TraceCheckUtils]: 1: Hoare triple {9652#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {9660#(bvult (_ bv0 32) |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:44,494 INFO L281 TraceCheckUtils]: 2: Hoare triple {9660#(bvult (_ bv0 32) |#StackHeapBarrier|)} assume true; {9660#(bvult (_ bv0 32) |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:44,495 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {9660#(bvult (_ bv0 32) |#StackHeapBarrier|)} {9652#true} #223#return; {9660#(bvult (_ bv0 32) |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:44,495 INFO L264 TraceCheckUtils]: 4: Hoare triple {9660#(bvult (_ bv0 32) |#StackHeapBarrier|)} call #t~ret13 := main(); {9660#(bvult (_ bv0 32) |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:44,495 INFO L281 TraceCheckUtils]: 5: Hoare triple {9660#(bvult (_ bv0 32) |#StackHeapBarrier|)} ~len~0 := 3bv32; {9660#(bvult (_ bv0 32) |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:44,496 INFO L264 TraceCheckUtils]: 6: Hoare triple {9660#(bvult (_ bv0 32) |#StackHeapBarrier|)} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {9660#(bvult (_ bv0 32) |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:44,496 INFO L281 TraceCheckUtils]: 7: Hoare triple {9660#(bvult (_ bv0 32) |#StackHeapBarrier|)} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {9679#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))} is VALID [2021-09-14 00:01:44,496 INFO L281 TraceCheckUtils]: 8: Hoare triple {9679#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {9679#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))} is VALID [2021-09-14 00:01:44,497 INFO L281 TraceCheckUtils]: 9: Hoare triple {9679#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {9679#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))} is VALID [2021-09-14 00:01:44,497 INFO L281 TraceCheckUtils]: 10: Hoare triple {9679#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {9679#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))} is VALID [2021-09-14 00:01:44,498 INFO L281 TraceCheckUtils]: 11: Hoare triple {9679#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {9679#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))} is VALID [2021-09-14 00:01:44,498 INFO L281 TraceCheckUtils]: 12: Hoare triple {9679#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {9679#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))} is VALID [2021-09-14 00:01:44,499 INFO L281 TraceCheckUtils]: 13: Hoare triple {9679#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {9679#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))} is VALID [2021-09-14 00:01:44,499 INFO L281 TraceCheckUtils]: 14: Hoare triple {9679#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {9679#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))} is VALID [2021-09-14 00:01:44,500 INFO L281 TraceCheckUtils]: 15: Hoare triple {9679#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {9679#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))} is VALID [2021-09-14 00:01:44,500 INFO L281 TraceCheckUtils]: 16: Hoare triple {9679#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {9679#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))} is VALID [2021-09-14 00:01:44,501 INFO L281 TraceCheckUtils]: 17: Hoare triple {9679#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {9710#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:01:44,501 INFO L281 TraceCheckUtils]: 18: Hoare triple {9710#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {9710#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:01:44,501 INFO L281 TraceCheckUtils]: 19: Hoare triple {9710#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {9710#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:01:44,502 INFO L281 TraceCheckUtils]: 20: Hoare triple {9710#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {9710#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:01:44,502 INFO L281 TraceCheckUtils]: 21: Hoare triple {9710#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {9723#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:01:44,503 INFO L281 TraceCheckUtils]: 22: Hoare triple {9723#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} assume !~bvsgt32(~len, 1bv32); {9723#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:01:44,503 INFO L281 TraceCheckUtils]: 23: Hoare triple {9723#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {9723#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:01:44,511 INFO L281 TraceCheckUtils]: 24: Hoare triple {9723#(and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {9733#(and (bvult (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) |#StackHeapBarrier|) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) (_ bv0 32))))} is VALID [2021-09-14 00:01:44,514 INFO L281 TraceCheckUtils]: 25: Hoare triple {9733#(and (bvult (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) |#StackHeapBarrier|) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) (_ bv0 32))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {9737#(and (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) (_ bv0 32))) (= |dll_circular_create_#res.offset| (_ bv0 32)) (bvult (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |#StackHeapBarrier|))} is VALID [2021-09-14 00:01:44,514 INFO L281 TraceCheckUtils]: 26: Hoare triple {9737#(and (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) (_ bv0 32))) (= |dll_circular_create_#res.offset| (_ bv0 32)) (bvult (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |#StackHeapBarrier|))} assume true; {9737#(and (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) (_ bv0 32))) (= |dll_circular_create_#res.offset| (_ bv0 32)) (bvult (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |#StackHeapBarrier|))} is VALID [2021-09-14 00:01:44,520 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {9737#(and (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) (_ bv0 32))) (= |dll_circular_create_#res.offset| (_ bv0 32)) (bvult (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |#StackHeapBarrier|))} {9660#(bvult (_ bv0 32) |#StackHeapBarrier|)} #219#return; {9744#(and (bvult (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32)) |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32)) (_ bv0 32))) (= |main_#t~ret12.offset| (_ bv0 32)))} is VALID [2021-09-14 00:01:44,521 INFO L281 TraceCheckUtils]: 28: Hoare triple {9744#(and (bvult (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32)) |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32)) (_ bv0 32))) (= |main_#t~ret12.offset| (_ bv0 32)))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {9748#(and (bvult (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32)) |#StackHeapBarrier|) (= main_~head~1.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32)) (_ bv0 32))))} is VALID [2021-09-14 00:01:44,521 INFO L264 TraceCheckUtils]: 29: Hoare triple {9748#(and (bvult (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32)) |#StackHeapBarrier|) (= main_~head~1.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32)) (_ bv0 32))))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {9752#(and (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32)) (_ bv0 32))) (bvult (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32)) |#StackHeapBarrier|) (= |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv0 32)))} is VALID [2021-09-14 00:01:44,522 INFO L281 TraceCheckUtils]: 30: Hoare triple {9752#(and (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32)) (_ bv0 32))) (bvult (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32)) |#StackHeapBarrier|) (= |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv0 32)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {9756#(and (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) (_ bv0 32))) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (bvult (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) |#StackHeapBarrier|))} is VALID [2021-09-14 00:01:44,522 INFO L281 TraceCheckUtils]: 31: Hoare triple {9756#(and (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) (_ bv0 32))) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (bvult (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) |#StackHeapBarrier|))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {9760#(and (bvult |_destroy_in_nondeterministic_order_#t~mem5.base| |#StackHeapBarrier|) (not (= |_destroy_in_nondeterministic_order_#t~mem5.base| (_ bv0 32))))} is VALID [2021-09-14 00:01:44,523 INFO L281 TraceCheckUtils]: 32: Hoare triple {9760#(and (bvult |_destroy_in_nondeterministic_order_#t~mem5.base| |#StackHeapBarrier|) (not (= |_destroy_in_nondeterministic_order_#t~mem5.base| (_ bv0 32))))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {9764#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 32))) (bvult _destroy_in_nondeterministic_order_~pred~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:01:44,523 INFO L281 TraceCheckUtils]: 33: Hoare triple {9764#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 32))) (bvult _destroy_in_nondeterministic_order_~pred~0.base |#StackHeapBarrier|))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {9764#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 32))) (bvult _destroy_in_nondeterministic_order_~pred~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:01:44,523 INFO L281 TraceCheckUtils]: 34: Hoare triple {9764#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 32))) (bvult _destroy_in_nondeterministic_order_~pred~0.base |#StackHeapBarrier|))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {9764#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 32))) (bvult _destroy_in_nondeterministic_order_~pred~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:01:44,524 INFO L281 TraceCheckUtils]: 35: Hoare triple {9764#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 32))) (bvult _destroy_in_nondeterministic_order_~pred~0.base |#StackHeapBarrier|))} assume !(0bv32 != #t~nondet7);havoc #t~nondet7; {9764#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 32))) (bvult _destroy_in_nondeterministic_order_~pred~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:01:44,524 INFO L281 TraceCheckUtils]: 36: Hoare triple {9764#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 32))) (bvult _destroy_in_nondeterministic_order_~pred~0.base |#StackHeapBarrier|))} assume !(0bv32 != #t~nondet9);havoc #t~nondet9; {9764#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 32))) (bvult _destroy_in_nondeterministic_order_~pred~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:01:44,524 INFO L281 TraceCheckUtils]: 37: Hoare triple {9764#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 32))) (bvult _destroy_in_nondeterministic_order_~pred~0.base |#StackHeapBarrier|))} assume 0bv32 == ~pred~0.offset; {9764#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 32))) (bvult _destroy_in_nondeterministic_order_~pred~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:01:44,525 INFO L281 TraceCheckUtils]: 38: Hoare triple {9764#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 32))) (bvult _destroy_in_nondeterministic_order_~pred~0.base |#StackHeapBarrier|))} assume !~bvult32(~pred~0.base, #StackHeapBarrier); {9653#false} is VALID [2021-09-14 00:01:44,525 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2021-09-14 00:01:44,525 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-14 00:01:45,377 INFO L281 TraceCheckUtils]: 38: Hoare triple {9783#(bvult _destroy_in_nondeterministic_order_~pred~0.base |#StackHeapBarrier|)} assume !~bvult32(~pred~0.base, #StackHeapBarrier); {9653#false} is VALID [2021-09-14 00:01:45,377 INFO L281 TraceCheckUtils]: 37: Hoare triple {9783#(bvult _destroy_in_nondeterministic_order_~pred~0.base |#StackHeapBarrier|)} assume 0bv32 == ~pred~0.offset; {9783#(bvult _destroy_in_nondeterministic_order_~pred~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:45,378 INFO L281 TraceCheckUtils]: 36: Hoare triple {9783#(bvult _destroy_in_nondeterministic_order_~pred~0.base |#StackHeapBarrier|)} assume !(0bv32 != #t~nondet9);havoc #t~nondet9; {9783#(bvult _destroy_in_nondeterministic_order_~pred~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:45,378 INFO L281 TraceCheckUtils]: 35: Hoare triple {9783#(bvult _destroy_in_nondeterministic_order_~pred~0.base |#StackHeapBarrier|)} assume !(0bv32 != #t~nondet7);havoc #t~nondet7; {9783#(bvult _destroy_in_nondeterministic_order_~pred~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:45,378 INFO L281 TraceCheckUtils]: 34: Hoare triple {9783#(bvult _destroy_in_nondeterministic_order_~pred~0.base |#StackHeapBarrier|)} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {9783#(bvult _destroy_in_nondeterministic_order_~pred~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:45,379 INFO L281 TraceCheckUtils]: 33: Hoare triple {9783#(bvult _destroy_in_nondeterministic_order_~pred~0.base |#StackHeapBarrier|)} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {9783#(bvult _destroy_in_nondeterministic_order_~pred~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:45,379 INFO L281 TraceCheckUtils]: 32: Hoare triple {9802#(bvult |_destroy_in_nondeterministic_order_#t~mem5.base| |#StackHeapBarrier|)} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {9783#(bvult _destroy_in_nondeterministic_order_~pred~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:45,380 INFO L281 TraceCheckUtils]: 31: Hoare triple {9806#(bvult (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset)) |#StackHeapBarrier|)} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {9802#(bvult |_destroy_in_nondeterministic_order_#t~mem5.base| |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:45,380 INFO L281 TraceCheckUtils]: 30: Hoare triple {9810#(bvult (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (bvadd |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv4 32))) |#StackHeapBarrier|)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {9806#(bvult (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset)) |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:45,381 INFO L264 TraceCheckUtils]: 29: Hoare triple {9814#(bvult (select (select |#memory_$Pointer$.base| main_~head~1.base) (bvadd (_ bv4 32) main_~head~1.offset)) |#StackHeapBarrier|)} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {9810#(bvult (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (bvadd |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv4 32))) |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:45,381 INFO L281 TraceCheckUtils]: 28: Hoare triple {9818#(bvult (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (bvadd (_ bv4 32) |main_#t~ret12.offset|)) |#StackHeapBarrier|)} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {9814#(bvult (select (select |#memory_$Pointer$.base| main_~head~1.base) (bvadd (_ bv4 32) main_~head~1.offset)) |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:45,382 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {9825#(bvult (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |#StackHeapBarrier|)} {9652#true} #219#return; {9818#(bvult (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (bvadd (_ bv4 32) |main_#t~ret12.offset|)) |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:45,383 INFO L281 TraceCheckUtils]: 26: Hoare triple {9825#(bvult (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |#StackHeapBarrier|)} assume true; {9825#(bvult (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:45,383 INFO L281 TraceCheckUtils]: 25: Hoare triple {9832#(bvult (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) |#StackHeapBarrier|)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {9825#(bvult (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:45,392 INFO L281 TraceCheckUtils]: 24: Hoare triple {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {9832#(bvult (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:45,392 INFO L281 TraceCheckUtils]: 23: Hoare triple {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:45,393 INFO L281 TraceCheckUtils]: 22: Hoare triple {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} assume !~bvsgt32(~len, 1bv32); {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:45,393 INFO L281 TraceCheckUtils]: 21: Hoare triple {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:45,393 INFO L281 TraceCheckUtils]: 20: Hoare triple {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:45,394 INFO L281 TraceCheckUtils]: 19: Hoare triple {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:45,394 INFO L281 TraceCheckUtils]: 18: Hoare triple {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:45,394 INFO L281 TraceCheckUtils]: 17: Hoare triple {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:45,395 INFO L281 TraceCheckUtils]: 16: Hoare triple {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:45,395 INFO L281 TraceCheckUtils]: 15: Hoare triple {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:45,396 INFO L281 TraceCheckUtils]: 14: Hoare triple {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:45,396 INFO L281 TraceCheckUtils]: 13: Hoare triple {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:45,396 INFO L281 TraceCheckUtils]: 12: Hoare triple {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:45,397 INFO L281 TraceCheckUtils]: 11: Hoare triple {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:45,397 INFO L281 TraceCheckUtils]: 10: Hoare triple {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:45,397 INFO L281 TraceCheckUtils]: 9: Hoare triple {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:45,398 INFO L281 TraceCheckUtils]: 8: Hoare triple {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:45,398 INFO L281 TraceCheckUtils]: 7: Hoare triple {9652#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {9836#(bvult dll_circular_create_~last~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:01:45,398 INFO L264 TraceCheckUtils]: 6: Hoare triple {9652#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {9652#true} is VALID [2021-09-14 00:01:45,398 INFO L281 TraceCheckUtils]: 5: Hoare triple {9652#true} ~len~0 := 3bv32; {9652#true} is VALID [2021-09-14 00:01:45,398 INFO L264 TraceCheckUtils]: 4: Hoare triple {9652#true} call #t~ret13 := main(); {9652#true} is VALID [2021-09-14 00:01:45,398 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {9652#true} {9652#true} #223#return; {9652#true} is VALID [2021-09-14 00:01:45,399 INFO L281 TraceCheckUtils]: 2: Hoare triple {9652#true} assume true; {9652#true} is VALID [2021-09-14 00:01:45,399 INFO L281 TraceCheckUtils]: 1: Hoare triple {9652#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {9652#true} is VALID [2021-09-14 00:01:45,399 INFO L264 TraceCheckUtils]: 0: Hoare triple {9652#true} call ULTIMATE.init(); {9652#true} is VALID [2021-09-14 00:01:45,399 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2021-09-14 00:01:45,399 INFO L139 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2021-09-14 00:01:45,399 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [344666951] [2021-09-14 00:01:45,399 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleMathsat [344666951] provided 2 perfect and 0 imperfect interpolant sequences [2021-09-14 00:01:45,399 INFO L186 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2021-09-14 00:01:45,399 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13, 10] imperfect sequences [] total 22 [2021-09-14 00:01:45,399 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [436784897] [2021-09-14 00:01:45,400 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 20 states have (on average 3.05) internal successors, (61), 19 states have internal predecessors, (61), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 39 [2021-09-14 00:01:45,400 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-14 00:01:45,400 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 23 states, 20 states have (on average 3.05) internal successors, (61), 19 states have internal predecessors, (61), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2021-09-14 00:01:45,503 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-14 00:01:45,503 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2021-09-14 00:01:45,503 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2021-09-14 00:01:45,504 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2021-09-14 00:01:45,504 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=76, Invalid=430, Unknown=0, NotChecked=0, Total=506 [2021-09-14 00:01:45,504 INFO L87 Difference]: Start difference. First operand 113 states and 118 transitions. Second operand has 23 states, 20 states have (on average 3.05) internal successors, (61), 19 states have internal predecessors, (61), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2021-09-14 00:01:51,280 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:01:51,280 INFO L93 Difference]: Finished difference Result 108 states and 113 transitions. [2021-09-14 00:01:51,280 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2021-09-14 00:01:51,280 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 20 states have (on average 3.05) internal successors, (61), 19 states have internal predecessors, (61), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 39 [2021-09-14 00:01:51,280 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-14 00:01:51,281 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 20 states have (on average 3.05) internal successors, (61), 19 states have internal predecessors, (61), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2021-09-14 00:01:51,282 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 117 transitions. [2021-09-14 00:01:51,282 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 20 states have (on average 3.05) internal successors, (61), 19 states have internal predecessors, (61), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2021-09-14 00:01:51,283 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 117 transitions. [2021-09-14 00:01:51,283 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 117 transitions. [2021-09-14 00:01:51,443 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-14 00:01:51,444 INFO L225 Difference]: With dead ends: 108 [2021-09-14 00:01:51,444 INFO L226 Difference]: Without dead ends: 108 [2021-09-14 00:01:51,447 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 56 SyntacticMatches, 0 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 88 ImplicationChecksByTransitivity, 1004.91ms TimeCoverageRelationStatistics Valid=133, Invalid=679, Unknown=0, NotChecked=0, Total=812 [2021-09-14 00:01:51,448 INFO L928 BasicCegarLoop]: 6 mSDtfsCounter, 492 mSDsluCounter, 368 mSDsCounter, 0 mSdLazyCounter, 1180 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2433.71ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 494 SdHoareTripleChecker+Valid, 8 SdHoareTripleChecker+Invalid, 1194 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 11.91ms SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 1180 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2443.82ms IncrementalHoareTripleChecker+Time [2021-09-14 00:01:51,448 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [494 Valid, 8 Invalid, 1194 Unknown, 0 Unchecked, 11.91ms Time], IncrementalHoareTripleChecker [14 Valid, 1180 Invalid, 0 Unknown, 0 Unchecked, 2443.82ms Time] [2021-09-14 00:01:51,448 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2021-09-14 00:01:51,449 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 108. [2021-09-14 00:01:51,449 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-14 00:01:51,450 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand has 108 states, 79 states have (on average 1.3417721518987342) internal successors, (106), 100 states have internal predecessors, (106), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:01:51,450 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand has 108 states, 79 states have (on average 1.3417721518987342) internal successors, (106), 100 states have internal predecessors, (106), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:01:51,450 INFO L87 Difference]: Start difference. First operand 108 states. Second operand has 108 states, 79 states have (on average 1.3417721518987342) internal successors, (106), 100 states have internal predecessors, (106), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:01:51,451 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:01:51,451 INFO L93 Difference]: Finished difference Result 108 states and 113 transitions. [2021-09-14 00:01:51,451 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 113 transitions. [2021-09-14 00:01:51,451 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-14 00:01:51,452 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-14 00:01:51,452 INFO L74 IsIncluded]: Start isIncluded. First operand has 108 states, 79 states have (on average 1.3417721518987342) internal successors, (106), 100 states have internal predecessors, (106), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 108 states. [2021-09-14 00:01:51,452 INFO L87 Difference]: Start difference. First operand has 108 states, 79 states have (on average 1.3417721518987342) internal successors, (106), 100 states have internal predecessors, (106), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 108 states. [2021-09-14 00:01:51,453 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:01:51,453 INFO L93 Difference]: Finished difference Result 108 states and 113 transitions. [2021-09-14 00:01:51,453 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 113 transitions. [2021-09-14 00:01:51,453 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-14 00:01:51,453 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-14 00:01:51,453 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-14 00:01:51,453 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-14 00:01:51,454 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 108 states, 79 states have (on average 1.3417721518987342) internal successors, (106), 100 states have internal predecessors, (106), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:01:51,455 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 108 states to 108 states and 113 transitions. [2021-09-14 00:01:51,455 INFO L78 Accepts]: Start accepts. Automaton has 108 states and 113 transitions. Word has length 39 [2021-09-14 00:01:51,455 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-14 00:01:51,455 INFO L470 AbstractCegarLoop]: Abstraction has 108 states and 113 transitions. [2021-09-14 00:01:51,455 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 20 states have (on average 3.05) internal successors, (61), 19 states have internal predecessors, (61), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2021-09-14 00:01:51,455 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 113 transitions. [2021-09-14 00:01:51,455 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2021-09-14 00:01:51,455 INFO L505 BasicCegarLoop]: Found error trace [2021-09-14 00:01:51,455 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1] [2021-09-14 00:01:51,472 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (16)] Ended with exit code 0 [2021-09-14 00:01:51,656 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-09-14 00:01:51,656 INFO L402 AbstractCegarLoop]: === Iteration 16 === Targeting _destroy_in_nondeterministic_orderErr20ASSERT_VIOLATIONMEMORY_FREE === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-14 00:01:51,657 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-14 00:01:51,657 INFO L82 PathProgramCache]: Analyzing trace with hash 543983544, now seen corresponding path program 1 times [2021-09-14 00:01:51,657 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-09-14 00:01:51,657 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1280195808] [2021-09-14 00:01:51,657 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-14 00:01:51,657 INFO L170 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-09-14 00:01:51,658 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-09-14 00:01:51,658 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) [2021-09-14 00:01:51,660 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (17)] Waiting until timeout for monitored process [2021-09-14 00:01:51,787 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-14 00:01:51,792 INFO L263 TraceCheckSpWp]: Trace formula consists of 151 conjuncts, 27 conjunts are in the unsatisfiable core [2021-09-14 00:01:51,813 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-14 00:01:51,815 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-14 00:01:51,871 INFO L388 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 [2021-09-14 00:01:52,053 INFO L354 Elim1Store]: treesize reduction 16, result has 36.0 percent of original size [2021-09-14 00:01:52,053 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 28 treesize of output 30 [2021-09-14 00:01:52,149 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2021-09-14 00:01:52,230 INFO L354 Elim1Store]: treesize reduction 29, result has 19.4 percent of original size [2021-09-14 00:01:52,231 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 37 treesize of output 27 [2021-09-14 00:01:52,484 INFO L354 Elim1Store]: treesize reduction 45, result has 16.7 percent of original size [2021-09-14 00:01:52,484 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 40 treesize of output 37 [2021-09-14 00:01:52,616 INFO L190 IndexEqualityManager]: detected not equals via solver [2021-09-14 00:01:52,655 INFO L354 Elim1Store]: treesize reduction 102, result has 14.3 percent of original size [2021-09-14 00:01:52,655 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 5 case distinctions, treesize of input 53 treesize of output 53 [2021-09-14 00:01:53,724 INFO L354 Elim1Store]: treesize reduction 66, result has 1.5 percent of original size [2021-09-14 00:01:53,725 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 1 disjoint index pairs (out of 6 index pairs), introduced 6 new quantified variables, introduced 6 case distinctions, treesize of input 58 treesize of output 30 [2021-09-14 00:01:54,120 INFO L264 TraceCheckUtils]: 0: Hoare triple {10352#true} call ULTIMATE.init(); {10352#true} is VALID [2021-09-14 00:01:54,121 INFO L281 TraceCheckUtils]: 1: Hoare triple {10352#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {10352#true} is VALID [2021-09-14 00:01:54,121 INFO L281 TraceCheckUtils]: 2: Hoare triple {10352#true} assume true; {10352#true} is VALID [2021-09-14 00:01:54,121 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {10352#true} {10352#true} #223#return; {10352#true} is VALID [2021-09-14 00:01:54,121 INFO L264 TraceCheckUtils]: 4: Hoare triple {10352#true} call #t~ret13 := main(); {10352#true} is VALID [2021-09-14 00:01:54,121 INFO L281 TraceCheckUtils]: 5: Hoare triple {10352#true} ~len~0 := 3bv32; {10352#true} is VALID [2021-09-14 00:01:54,121 INFO L264 TraceCheckUtils]: 6: Hoare triple {10352#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {10352#true} is VALID [2021-09-14 00:01:54,121 INFO L281 TraceCheckUtils]: 7: Hoare triple {10352#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {10352#true} is VALID [2021-09-14 00:01:54,121 INFO L281 TraceCheckUtils]: 8: Hoare triple {10352#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {10352#true} is VALID [2021-09-14 00:01:54,121 INFO L281 TraceCheckUtils]: 9: Hoare triple {10352#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {10352#true} is VALID [2021-09-14 00:01:54,121 INFO L281 TraceCheckUtils]: 10: Hoare triple {10352#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {10352#true} is VALID [2021-09-14 00:01:54,122 INFO L281 TraceCheckUtils]: 11: Hoare triple {10352#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {10390#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} is VALID [2021-09-14 00:01:54,123 INFO L281 TraceCheckUtils]: 12: Hoare triple {10390#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {10394#(and (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:01:54,123 INFO L281 TraceCheckUtils]: 13: Hoare triple {10394#(and (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {10394#(and (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:01:54,124 INFO L281 TraceCheckUtils]: 14: Hoare triple {10394#(and (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {10394#(and (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:01:54,125 INFO L281 TraceCheckUtils]: 15: Hoare triple {10394#(and (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {10404#(and (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:01:54,125 INFO L281 TraceCheckUtils]: 16: Hoare triple {10404#(and (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {10408#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} is VALID [2021-09-14 00:01:54,126 INFO L281 TraceCheckUtils]: 17: Hoare triple {10408#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {10412#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:01:54,127 INFO L281 TraceCheckUtils]: 18: Hoare triple {10412#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {10412#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:01:54,128 INFO L281 TraceCheckUtils]: 19: Hoare triple {10412#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {10419#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} is VALID [2021-09-14 00:01:54,135 INFO L281 TraceCheckUtils]: 20: Hoare triple {10419#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {10423#(and (bvult (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~head~0.offset (_ BitVec 32))) (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)))))} is VALID [2021-09-14 00:01:54,137 INFO L281 TraceCheckUtils]: 21: Hoare triple {10423#(and (bvult (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~head~0.offset (_ BitVec 32))) (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {10427#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.offset_56 (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_56)))) (= dll_circular_create_~head~0.offset (_ bv0 32)) (bvult (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) |#StackHeapBarrier|) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} is VALID [2021-09-14 00:01:54,138 INFO L281 TraceCheckUtils]: 22: Hoare triple {10427#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.offset_56 (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_56)))) (= dll_circular_create_~head~0.offset (_ bv0 32)) (bvult (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) |#StackHeapBarrier|) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} assume !~bvsgt32(~len, 1bv32); {10427#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.offset_56 (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_56)))) (= dll_circular_create_~head~0.offset (_ bv0 32)) (bvult (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) |#StackHeapBarrier|) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} is VALID [2021-09-14 00:01:54,151 INFO L281 TraceCheckUtils]: 23: Hoare triple {10427#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.offset_56 (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_56)))) (= dll_circular_create_~head~0.offset (_ bv0 32)) (bvult (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) |#StackHeapBarrier|) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {10434#(and (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset))) (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.offset_56 (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_56)))) (= dll_circular_create_~head~0.offset (_ bv0 32)) (bvult (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) |#StackHeapBarrier|) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} is VALID [2021-09-14 00:01:54,164 INFO L281 TraceCheckUtils]: 24: Hoare triple {10434#(and (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset))) (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.offset_56 (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_56)))) (= dll_circular_create_~head~0.offset (_ bv0 32)) (bvult (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) |#StackHeapBarrier|) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {10438#(and (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))) dll_circular_create_~last~0.offset) dll_circular_create_~head~0.base)) (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((v_dll_circular_create_~head~0.offset_56 (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_56)))) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (bvult (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) |#StackHeapBarrier|) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} is VALID [2021-09-14 00:01:54,177 INFO L281 TraceCheckUtils]: 25: Hoare triple {10438#(and (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))) dll_circular_create_~last~0.offset) dll_circular_create_~head~0.base)) (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((v_dll_circular_create_~head~0.offset_56 (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_56)))) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (bvult (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) |#StackHeapBarrier|) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {10442#(and (exists ((v_dll_circular_create_~head~0.offset_56 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_56)) |dll_circular_create_#res.base|)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|)) (bvult (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |#StackHeapBarrier|) (= |dll_circular_create_#res.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |dll_circular_create_#res.base|)) (bvult |dll_circular_create_#res.base| |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |dll_circular_create_#res.base|)))} is VALID [2021-09-14 00:01:54,178 INFO L281 TraceCheckUtils]: 26: Hoare triple {10442#(and (exists ((v_dll_circular_create_~head~0.offset_56 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_56)) |dll_circular_create_#res.base|)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|)) (bvult (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |#StackHeapBarrier|) (= |dll_circular_create_#res.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |dll_circular_create_#res.base|)) (bvult |dll_circular_create_#res.base| |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |dll_circular_create_#res.base|)))} assume true; {10442#(and (exists ((v_dll_circular_create_~head~0.offset_56 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_56)) |dll_circular_create_#res.base|)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|)) (bvult (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |#StackHeapBarrier|) (= |dll_circular_create_#res.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |dll_circular_create_#res.base|)) (bvult |dll_circular_create_#res.base| |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |dll_circular_create_#res.base|)))} is VALID [2021-09-14 00:01:54,188 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {10442#(and (exists ((v_dll_circular_create_~head~0.offset_56 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_56)) |dll_circular_create_#res.base|)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|)) (bvult (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |#StackHeapBarrier|) (= |dll_circular_create_#res.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |dll_circular_create_#res.base|)) (bvult |dll_circular_create_#res.base| |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |dll_circular_create_#res.base|)))} {10352#true} #219#return; {10449#(and (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (bvadd (_ bv4 32) |main_#t~ret12.offset|))) dll_circular_create_~last~0.offset))) (not (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|))) (exists ((v_dll_circular_create_~head~0.offset_56 (_ BitVec 32))) (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_56)))) (bvult |main_#t~ret12.base| |#StackHeapBarrier|) (= |main_#t~ret12.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (bvadd (_ bv4 32) |main_#t~ret12.offset|)) |main_#t~ret12.base|)) (bvult (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|) |#StackHeapBarrier|))} is VALID [2021-09-14 00:01:54,190 INFO L281 TraceCheckUtils]: 28: Hoare triple {10449#(and (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (bvadd (_ bv4 32) |main_#t~ret12.offset|))) dll_circular_create_~last~0.offset))) (not (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|))) (exists ((v_dll_circular_create_~head~0.offset_56 (_ BitVec 32))) (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_56)))) (bvult |main_#t~ret12.base| |#StackHeapBarrier|) (= |main_#t~ret12.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (bvadd (_ bv4 32) |main_#t~ret12.offset|)) |main_#t~ret12.base|)) (bvult (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|) |#StackHeapBarrier|))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {10453#(and (bvult main_~head~1.base |#StackHeapBarrier|) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32)))) (= main_~head~1.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32))) dll_circular_create_~last~0.offset) main_~head~1.base)) (exists ((v_dll_circular_create_~head~0.offset_56 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_56)) main_~head~1.base)) (bvult (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32)) |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32)) main_~head~1.base)))} is VALID [2021-09-14 00:01:54,192 INFO L264 TraceCheckUtils]: 29: Hoare triple {10453#(and (bvult main_~head~1.base |#StackHeapBarrier|) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32)))) (= main_~head~1.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32))) dll_circular_create_~last~0.offset) main_~head~1.base)) (exists ((v_dll_circular_create_~head~0.offset_56 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_56)) main_~head~1.base)) (bvult (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32)) |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32)) main_~head~1.base)))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {10457#(and (bvult (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32)) |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32)) |_destroy_in_nondeterministic_order_#in~head.base|)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32))) dll_circular_create_~last~0.offset) |_destroy_in_nondeterministic_order_#in~head.base|)) (exists ((v_dll_circular_create_~head~0.offset_56 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_56)) |_destroy_in_nondeterministic_order_#in~head.base|)) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32)) |_destroy_in_nondeterministic_order_#in~head.base|)) (= |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv0 32)) (bvult |_destroy_in_nondeterministic_order_#in~head.base| |#StackHeapBarrier|))} is VALID [2021-09-14 00:01:54,194 INFO L281 TraceCheckUtils]: 30: Hoare triple {10457#(and (bvult (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32)) |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32)) |_destroy_in_nondeterministic_order_#in~head.base|)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32))) dll_circular_create_~last~0.offset) |_destroy_in_nondeterministic_order_#in~head.base|)) (exists ((v_dll_circular_create_~head~0.offset_56 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_56)) |_destroy_in_nondeterministic_order_#in~head.base|)) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32)) |_destroy_in_nondeterministic_order_#in~head.base|)) (= |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv0 32)) (bvult |_destroy_in_nondeterministic_order_#in~head.base| |#StackHeapBarrier|))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {10461#(and (exists ((v_dll_circular_create_~head~0.offset_56 (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_56)))) (bvult (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) dll_circular_create_~last~0.offset))))} is VALID [2021-09-14 00:01:54,194 INFO L281 TraceCheckUtils]: 31: Hoare triple {10461#(and (exists ((v_dll_circular_create_~head~0.offset_56 (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_56)))) (bvult (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) dll_circular_create_~last~0.offset))))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {10461#(and (exists ((v_dll_circular_create_~head~0.offset_56 (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_56)))) (bvult (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) dll_circular_create_~last~0.offset))))} is VALID [2021-09-14 00:01:54,195 INFO L281 TraceCheckUtils]: 32: Hoare triple {10461#(and (exists ((v_dll_circular_create_~head~0.offset_56 (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_56)))) (bvult (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) dll_circular_create_~last~0.offset))))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {10461#(and (exists ((v_dll_circular_create_~head~0.offset_56 (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_56)))) (bvult (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) dll_circular_create_~last~0.offset))))} is VALID [2021-09-14 00:01:54,219 INFO L281 TraceCheckUtils]: 33: Hoare triple {10461#(and (exists ((v_dll_circular_create_~head~0.offset_56 (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_56)))) (bvult (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) dll_circular_create_~last~0.offset))))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {10471#(and (bvult |_destroy_in_nondeterministic_order_#t~mem6.base| |#StackHeapBarrier|) (exists ((v_arrayElimCell_33 (_ BitVec 32))) (and (not (= v_arrayElimCell_33 |_destroy_in_nondeterministic_order_#t~mem6.base|)) (bvult v_arrayElimCell_33 |#StackHeapBarrier|))))} is VALID [2021-09-14 00:01:54,239 INFO L281 TraceCheckUtils]: 34: Hoare triple {10471#(and (bvult |_destroy_in_nondeterministic_order_#t~mem6.base| |#StackHeapBarrier|) (exists ((v_arrayElimCell_33 (_ BitVec 32))) (and (not (= v_arrayElimCell_33 |_destroy_in_nondeterministic_order_#t~mem6.base|)) (bvult v_arrayElimCell_33 |#StackHeapBarrier|))))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {10475#(and (exists ((v_arrayElimCell_33 (_ BitVec 32))) (and (bvult v_arrayElimCell_33 |#StackHeapBarrier|) (not (= v_arrayElimCell_33 _destroy_in_nondeterministic_order_~succ~0.base)))) (bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:01:54,240 INFO L281 TraceCheckUtils]: 35: Hoare triple {10475#(and (exists ((v_arrayElimCell_33 (_ BitVec 32))) (and (bvult v_arrayElimCell_33 |#StackHeapBarrier|) (not (= v_arrayElimCell_33 _destroy_in_nondeterministic_order_~succ~0.base)))) (bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|))} assume !(0bv32 != #t~nondet7);havoc #t~nondet7; {10475#(and (exists ((v_arrayElimCell_33 (_ BitVec 32))) (and (bvult v_arrayElimCell_33 |#StackHeapBarrier|) (not (= v_arrayElimCell_33 _destroy_in_nondeterministic_order_~succ~0.base)))) (bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:01:54,240 INFO L281 TraceCheckUtils]: 36: Hoare triple {10475#(and (exists ((v_arrayElimCell_33 (_ BitVec 32))) (and (bvult v_arrayElimCell_33 |#StackHeapBarrier|) (not (= v_arrayElimCell_33 _destroy_in_nondeterministic_order_~succ~0.base)))) (bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|))} assume 0bv32 != #t~nondet9;havoc #t~nondet9; {10475#(and (exists ((v_arrayElimCell_33 (_ BitVec 32))) (and (bvult v_arrayElimCell_33 |#StackHeapBarrier|) (not (= v_arrayElimCell_33 _destroy_in_nondeterministic_order_~succ~0.base)))) (bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:01:54,241 INFO L281 TraceCheckUtils]: 37: Hoare triple {10475#(and (exists ((v_arrayElimCell_33 (_ BitVec 32))) (and (bvult v_arrayElimCell_33 |#StackHeapBarrier|) (not (= v_arrayElimCell_33 _destroy_in_nondeterministic_order_~succ~0.base)))) (bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|))} assume 0bv32 == ~succ~0.offset; {10475#(and (exists ((v_arrayElimCell_33 (_ BitVec 32))) (and (bvult v_arrayElimCell_33 |#StackHeapBarrier|) (not (= v_arrayElimCell_33 _destroy_in_nondeterministic_order_~succ~0.base)))) (bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:01:54,241 INFO L281 TraceCheckUtils]: 38: Hoare triple {10475#(and (exists ((v_arrayElimCell_33 (_ BitVec 32))) (and (bvult v_arrayElimCell_33 |#StackHeapBarrier|) (not (= v_arrayElimCell_33 _destroy_in_nondeterministic_order_~succ~0.base)))) (bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|))} assume !~bvult32(~succ~0.base, #StackHeapBarrier); {10353#false} is VALID [2021-09-14 00:01:54,241 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-14 00:01:54,241 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-14 00:01:57,591 WARN L870 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2021-09-14 00:02:33,499 WARN L838 $PredicateComparison]: unable to prove that (forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (bvult (select (select (store |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.base)) c_dll_circular_create_~new_head~0.base) c_dll_circular_create_~new_head~0.offset) |c_#StackHeapBarrier|)) is different from false [2021-09-14 00:02:35,517 WARN L838 $PredicateComparison]: unable to prove that (forall ((dll_circular_create_~last~0.offset (_ BitVec 32)) (dll_circular_create_~head~0.offset (_ BitVec 32))) (bvult (select (select (let ((.cse0 (store |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) c_dll_circular_create_~new_head~0.base)))) (store .cse0 c_dll_circular_create_~last~0.base (store (select .cse0 c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.base))) c_dll_circular_create_~new_head~0.base) c_dll_circular_create_~new_head~0.offset) |c_#StackHeapBarrier|)) is different from false [2021-09-14 00:02:36,399 INFO L281 TraceCheckUtils]: 38: Hoare triple {10488#(bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|)} assume !~bvult32(~succ~0.base, #StackHeapBarrier); {10353#false} is VALID [2021-09-14 00:02:36,399 INFO L281 TraceCheckUtils]: 37: Hoare triple {10488#(bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|)} assume 0bv32 == ~succ~0.offset; {10488#(bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:02:36,399 INFO L281 TraceCheckUtils]: 36: Hoare triple {10488#(bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|)} assume 0bv32 != #t~nondet9;havoc #t~nondet9; {10488#(bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:02:36,400 INFO L281 TraceCheckUtils]: 35: Hoare triple {10488#(bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|)} assume !(0bv32 != #t~nondet7);havoc #t~nondet7; {10488#(bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:02:36,400 INFO L281 TraceCheckUtils]: 34: Hoare triple {10501#(bvult |_destroy_in_nondeterministic_order_#t~mem6.base| |#StackHeapBarrier|)} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {10488#(bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:02:36,401 INFO L281 TraceCheckUtils]: 33: Hoare triple {10505#(bvult (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) |#StackHeapBarrier|)} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {10501#(bvult |_destroy_in_nondeterministic_order_#t~mem6.base| |#StackHeapBarrier|)} is VALID [2021-09-14 00:02:36,401 INFO L281 TraceCheckUtils]: 32: Hoare triple {10505#(bvult (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) |#StackHeapBarrier|)} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {10505#(bvult (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) |#StackHeapBarrier|)} is VALID [2021-09-14 00:02:36,401 INFO L281 TraceCheckUtils]: 31: Hoare triple {10505#(bvult (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) |#StackHeapBarrier|)} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {10505#(bvult (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) |#StackHeapBarrier|)} is VALID [2021-09-14 00:02:36,402 INFO L281 TraceCheckUtils]: 30: Hoare triple {10515#(bvult (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|) |#StackHeapBarrier|)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {10505#(bvult (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) |#StackHeapBarrier|)} is VALID [2021-09-14 00:02:36,402 INFO L264 TraceCheckUtils]: 29: Hoare triple {10519#(bvult (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset) |#StackHeapBarrier|)} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {10515#(bvult (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|) |#StackHeapBarrier|)} is VALID [2021-09-14 00:02:36,403 INFO L281 TraceCheckUtils]: 28: Hoare triple {10523#(bvult (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|) |#StackHeapBarrier|)} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {10519#(bvult (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset) |#StackHeapBarrier|)} is VALID [2021-09-14 00:02:36,404 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {10530#(bvult (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |#StackHeapBarrier|)} {10352#true} #219#return; {10523#(bvult (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|) |#StackHeapBarrier|)} is VALID [2021-09-14 00:02:36,404 INFO L281 TraceCheckUtils]: 26: Hoare triple {10530#(bvult (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |#StackHeapBarrier|)} assume true; {10530#(bvult (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |#StackHeapBarrier|)} is VALID [2021-09-14 00:02:36,404 INFO L281 TraceCheckUtils]: 25: Hoare triple {10537#(bvult (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) |#StackHeapBarrier|)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {10530#(bvult (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |#StackHeapBarrier|)} is VALID [2021-09-14 00:02:36,413 INFO L281 TraceCheckUtils]: 24: Hoare triple {10537#(bvult (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {10537#(bvult (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) |#StackHeapBarrier|)} is VALID [2021-09-14 00:02:36,421 INFO L281 TraceCheckUtils]: 23: Hoare triple {10544#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (bvult (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {10537#(bvult (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) |#StackHeapBarrier|)} is VALID [2021-09-14 00:02:36,421 INFO L281 TraceCheckUtils]: 22: Hoare triple {10544#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (bvult (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) |#StackHeapBarrier|))} assume !~bvsgt32(~len, 1bv32); {10544#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (bvult (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) |#StackHeapBarrier|))} is VALID [2021-09-14 00:02:36,422 INFO L281 TraceCheckUtils]: 21: Hoare triple {10551#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (bvult (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) |#StackHeapBarrier|))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {10544#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (bvult (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) |#StackHeapBarrier|))} is VALID [2021-09-14 00:02:36,426 INFO L281 TraceCheckUtils]: 20: Hoare triple {10555#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32)) (dll_circular_create_~head~0.offset (_ BitVec 32))) (bvult (select (select (store (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) dll_circular_create_~new_head~0.base)) dll_circular_create_~last~0.base (store (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) dll_circular_create_~new_head~0.base)) dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {10551#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (bvult (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) |#StackHeapBarrier|))} is VALID [2021-09-14 00:02:36,496 INFO L281 TraceCheckUtils]: 19: Hoare triple {10559#(and (or (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)) (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {10555#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32)) (dll_circular_create_~head~0.offset (_ BitVec 32))) (bvult (select (select (store (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) dll_circular_create_~new_head~0.base)) dll_circular_create_~last~0.base (store (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) dll_circular_create_~new_head~0.base)) dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) |#StackHeapBarrier|))} is VALID [2021-09-14 00:02:36,497 INFO L281 TraceCheckUtils]: 18: Hoare triple {10559#(and (or (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)) (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {10559#(and (or (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)) (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:02:36,498 INFO L281 TraceCheckUtils]: 17: Hoare triple {10566#(or (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (forall ((v_dll_circular_create_~new_head~0.base_58 (_ BitVec 32))) (or (not (= (_ bv0 1) (select |#valid| v_dll_circular_create_~new_head~0.base_58))) (not (bvult v_dll_circular_create_~new_head~0.base_58 |#StackHeapBarrier|)))))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {10559#(and (or (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)) (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:02:36,499 INFO L281 TraceCheckUtils]: 16: Hoare triple {10570#(or (forall ((v_dll_circular_create_~new_head~0.base_58 (_ BitVec 32))) (or (not (= (_ bv0 1) (select |#valid| v_dll_circular_create_~new_head~0.base_58))) (not (bvult v_dll_circular_create_~new_head~0.base_58 |#StackHeapBarrier|)))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {10566#(or (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (forall ((v_dll_circular_create_~new_head~0.base_58 (_ BitVec 32))) (or (not (= (_ bv0 1) (select |#valid| v_dll_circular_create_~new_head~0.base_58))) (not (bvult v_dll_circular_create_~new_head~0.base_58 |#StackHeapBarrier|)))))} is VALID [2021-09-14 00:02:36,499 INFO L281 TraceCheckUtils]: 15: Hoare triple {10574#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (forall ((v_dll_circular_create_~new_head~0.base_58 (_ BitVec 32))) (or (not (= (_ bv0 1) (select |#valid| v_dll_circular_create_~new_head~0.base_58))) (not (bvult v_dll_circular_create_~new_head~0.base_58 |#StackHeapBarrier|)))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {10570#(or (forall ((v_dll_circular_create_~new_head~0.base_58 (_ BitVec 32))) (or (not (= (_ bv0 1) (select |#valid| v_dll_circular_create_~new_head~0.base_58))) (not (bvult v_dll_circular_create_~new_head~0.base_58 |#StackHeapBarrier|)))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:02:36,500 INFO L281 TraceCheckUtils]: 14: Hoare triple {10574#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (forall ((v_dll_circular_create_~new_head~0.base_58 (_ BitVec 32))) (or (not (= (_ bv0 1) (select |#valid| v_dll_circular_create_~new_head~0.base_58))) (not (bvult v_dll_circular_create_~new_head~0.base_58 |#StackHeapBarrier|)))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {10574#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (forall ((v_dll_circular_create_~new_head~0.base_58 (_ BitVec 32))) (or (not (= (_ bv0 1) (select |#valid| v_dll_circular_create_~new_head~0.base_58))) (not (bvult v_dll_circular_create_~new_head~0.base_58 |#StackHeapBarrier|)))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:02:36,500 INFO L281 TraceCheckUtils]: 13: Hoare triple {10574#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (forall ((v_dll_circular_create_~new_head~0.base_58 (_ BitVec 32))) (or (not (= (_ bv0 1) (select |#valid| v_dll_circular_create_~new_head~0.base_58))) (not (bvult v_dll_circular_create_~new_head~0.base_58 |#StackHeapBarrier|)))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {10574#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (forall ((v_dll_circular_create_~new_head~0.base_58 (_ BitVec 32))) (or (not (= (_ bv0 1) (select |#valid| v_dll_circular_create_~new_head~0.base_58))) (not (bvult v_dll_circular_create_~new_head~0.base_58 |#StackHeapBarrier|)))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:02:36,501 INFO L281 TraceCheckUtils]: 12: Hoare triple {10352#true} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {10574#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (forall ((v_dll_circular_create_~new_head~0.base_58 (_ BitVec 32))) (or (not (= (_ bv0 1) (select |#valid| v_dll_circular_create_~new_head~0.base_58))) (not (bvult v_dll_circular_create_~new_head~0.base_58 |#StackHeapBarrier|)))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:02:36,501 INFO L281 TraceCheckUtils]: 11: Hoare triple {10352#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {10352#true} is VALID [2021-09-14 00:02:36,501 INFO L281 TraceCheckUtils]: 10: Hoare triple {10352#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {10352#true} is VALID [2021-09-14 00:02:36,501 INFO L281 TraceCheckUtils]: 9: Hoare triple {10352#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {10352#true} is VALID [2021-09-14 00:02:36,501 INFO L281 TraceCheckUtils]: 8: Hoare triple {10352#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {10352#true} is VALID [2021-09-14 00:02:36,501 INFO L281 TraceCheckUtils]: 7: Hoare triple {10352#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {10352#true} is VALID [2021-09-14 00:02:36,501 INFO L264 TraceCheckUtils]: 6: Hoare triple {10352#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {10352#true} is VALID [2021-09-14 00:02:36,501 INFO L281 TraceCheckUtils]: 5: Hoare triple {10352#true} ~len~0 := 3bv32; {10352#true} is VALID [2021-09-14 00:02:36,501 INFO L264 TraceCheckUtils]: 4: Hoare triple {10352#true} call #t~ret13 := main(); {10352#true} is VALID [2021-09-14 00:02:36,501 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {10352#true} {10352#true} #223#return; {10352#true} is VALID [2021-09-14 00:02:36,501 INFO L281 TraceCheckUtils]: 2: Hoare triple {10352#true} assume true; {10352#true} is VALID [2021-09-14 00:02:36,501 INFO L281 TraceCheckUtils]: 1: Hoare triple {10352#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {10352#true} is VALID [2021-09-14 00:02:36,502 INFO L264 TraceCheckUtils]: 0: Hoare triple {10352#true} call ULTIMATE.init(); {10352#true} is VALID [2021-09-14 00:02:36,502 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 2 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 2 not checked. [2021-09-14 00:02:36,502 INFO L139 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2021-09-14 00:02:36,502 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1280195808] [2021-09-14 00:02:36,502 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1280195808] provided 0 perfect and 2 imperfect interpolant sequences [2021-09-14 00:02:36,502 INFO L186 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2021-09-14 00:02:36,502 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 16] total 33 [2021-09-14 00:02:36,502 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1455368092] [2021-09-14 00:02:36,503 INFO L78 Accepts]: Start accepts. Automaton has has 34 states, 31 states have (on average 1.903225806451613) internal successors, (59), 30 states have internal predecessors, (59), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) Word has length 39 [2021-09-14 00:02:36,503 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-14 00:02:36,503 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 34 states, 31 states have (on average 1.903225806451613) internal successors, (59), 30 states have internal predecessors, (59), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:02:36,828 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-14 00:02:36,828 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 34 states [2021-09-14 00:02:36,828 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2021-09-14 00:02:36,828 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2021-09-14 00:02:36,829 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=102, Invalid=881, Unknown=17, NotChecked=122, Total=1122 [2021-09-14 00:02:36,829 INFO L87 Difference]: Start difference. First operand 108 states and 113 transitions. Second operand has 34 states, 31 states have (on average 1.903225806451613) internal successors, (59), 30 states have internal predecessors, (59), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:02:46,057 WARN L210 SmtUtils]: Spent 8.12s on a formula simplification. DAG size of input: 47 DAG size of output: 46 [2021-09-14 00:02:48,184 WARN L838 $PredicateComparison]: unable to prove that (and (forall ((dll_circular_create_~last~0.offset (_ BitVec 32)) (dll_circular_create_~head~0.offset (_ BitVec 32))) (bvult (select (select (let ((.cse0 (store |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) c_dll_circular_create_~new_head~0.base)))) (store .cse0 c_dll_circular_create_~last~0.base (store (select .cse0 c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.base))) c_dll_circular_create_~new_head~0.base) c_dll_circular_create_~new_head~0.offset) |c_#StackHeapBarrier|)) (or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |c_#valid| c_dll_circular_create_~head~0.base))) (_ bv1 1)))) (forall ((v_dll_circular_create_~new_head~0.base_58 (_ BitVec 32))) (or (not (= (_ bv0 1) (select |c_#valid| v_dll_circular_create_~new_head~0.base_58))) (not (bvult v_dll_circular_create_~new_head~0.base_58 |c_#StackHeapBarrier|)))) (bvult c_dll_circular_create_~new_head~0.base |c_#StackHeapBarrier|))) is different from false [2021-09-14 00:02:50,121 WARN L838 $PredicateComparison]: unable to prove that (and (forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (bvult (select (select (store |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.base)) c_dll_circular_create_~new_head~0.base) c_dll_circular_create_~new_head~0.offset) |c_#StackHeapBarrier|)) (or (forall ((v_dll_circular_create_~new_head~0.base_58 (_ BitVec 32))) (or (not (= (_ bv0 1) (select |c_#valid| v_dll_circular_create_~new_head~0.base_58))) (not (bvult v_dll_circular_create_~new_head~0.base_58 |c_#StackHeapBarrier|)))) (bvult c_dll_circular_create_~new_head~0.base |c_#StackHeapBarrier|))) is different from false [2021-09-14 00:02:52,127 WARN L838 $PredicateComparison]: unable to prove that (and (or (bvult c_dll_circular_create_~head~0.base |c_#StackHeapBarrier|) (forall ((v_dll_circular_create_~new_head~0.base_58 (_ BitVec 32))) (or (not (= (_ bv0 1) (select |c_#valid| v_dll_circular_create_~new_head~0.base_58))) (not (bvult v_dll_circular_create_~new_head~0.base_58 |c_#StackHeapBarrier|))))) (forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (bvult (select (select (store |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~head~0.base)) c_dll_circular_create_~head~0.base) c_dll_circular_create_~head~0.offset) |c_#StackHeapBarrier|))) is different from false [2021-09-14 00:02:53,902 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:02:53,903 INFO L93 Difference]: Finished difference Result 131 states and 141 transitions. [2021-09-14 00:02:53,903 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2021-09-14 00:02:53,903 INFO L78 Accepts]: Start accepts. Automaton has has 34 states, 31 states have (on average 1.903225806451613) internal successors, (59), 30 states have internal predecessors, (59), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) Word has length 39 [2021-09-14 00:02:53,904 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-14 00:02:53,904 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 31 states have (on average 1.903225806451613) internal successors, (59), 30 states have internal predecessors, (59), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:02:53,914 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 143 transitions. [2021-09-14 00:02:53,916 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 31 states have (on average 1.903225806451613) internal successors, (59), 30 states have internal predecessors, (59), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:02:53,918 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 143 transitions. [2021-09-14 00:02:53,918 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 32 states and 143 transitions. [2021-09-14 00:02:54,330 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 143 edges. 143 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-14 00:02:54,331 INFO L225 Difference]: With dead ends: 131 [2021-09-14 00:02:54,331 INFO L226 Difference]: Without dead ends: 131 [2021-09-14 00:02:54,332 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 44 SyntacticMatches, 2 SemanticMatches, 40 ConstructedPredicates, 5 IntricatePredicates, 0 DeprecatedPredicates, 199 ImplicationChecksByTransitivity, 54092.29ms TimeCoverageRelationStatistics Valid=155, Invalid=1177, Unknown=20, NotChecked=370, Total=1722 [2021-09-14 00:02:54,332 INFO L928 BasicCegarLoop]: 8 mSDtfsCounter, 24 mSDsluCounter, 809 mSDsCounter, 0 mSdLazyCounter, 855 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1169.66ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 92 SdHoareTripleChecker+Invalid, 1540 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 8.11ms SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 855 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 678 IncrementalHoareTripleChecker+Unchecked, 1174.90ms IncrementalHoareTripleChecker+Time [2021-09-14 00:02:54,333 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [26 Valid, 92 Invalid, 1540 Unknown, 0 Unchecked, 8.11ms Time], IncrementalHoareTripleChecker [7 Valid, 855 Invalid, 0 Unknown, 678 Unchecked, 1174.90ms Time] [2021-09-14 00:02:54,333 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2021-09-14 00:02:54,334 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 107. [2021-09-14 00:02:54,334 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-14 00:02:54,335 INFO L82 GeneralOperation]: Start isEquivalent. First operand 131 states. Second operand has 107 states, 79 states have (on average 1.3291139240506329) internal successors, (105), 99 states have internal predecessors, (105), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:02:54,335 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand has 107 states, 79 states have (on average 1.3291139240506329) internal successors, (105), 99 states have internal predecessors, (105), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:02:54,335 INFO L87 Difference]: Start difference. First operand 131 states. Second operand has 107 states, 79 states have (on average 1.3291139240506329) internal successors, (105), 99 states have internal predecessors, (105), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:02:54,337 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:02:54,337 INFO L93 Difference]: Finished difference Result 131 states and 141 transitions. [2021-09-14 00:02:54,337 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 141 transitions. [2021-09-14 00:02:54,337 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-14 00:02:54,337 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-14 00:02:54,337 INFO L74 IsIncluded]: Start isIncluded. First operand has 107 states, 79 states have (on average 1.3291139240506329) internal successors, (105), 99 states have internal predecessors, (105), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 131 states. [2021-09-14 00:02:54,338 INFO L87 Difference]: Start difference. First operand has 107 states, 79 states have (on average 1.3291139240506329) internal successors, (105), 99 states have internal predecessors, (105), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 131 states. [2021-09-14 00:02:54,339 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:02:54,339 INFO L93 Difference]: Finished difference Result 131 states and 141 transitions. [2021-09-14 00:02:54,339 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 141 transitions. [2021-09-14 00:02:54,340 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-14 00:02:54,340 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-14 00:02:54,340 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-14 00:02:54,340 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-14 00:02:54,340 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 107 states, 79 states have (on average 1.3291139240506329) internal successors, (105), 99 states have internal predecessors, (105), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:02:54,341 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 107 states to 107 states and 112 transitions. [2021-09-14 00:02:54,341 INFO L78 Accepts]: Start accepts. Automaton has 107 states and 112 transitions. Word has length 39 [2021-09-14 00:02:54,341 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-14 00:02:54,341 INFO L470 AbstractCegarLoop]: Abstraction has 107 states and 112 transitions. [2021-09-14 00:02:54,341 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 34 states, 31 states have (on average 1.903225806451613) internal successors, (59), 30 states have internal predecessors, (59), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:02:54,342 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 112 transitions. [2021-09-14 00:02:54,342 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2021-09-14 00:02:54,342 INFO L505 BasicCegarLoop]: Found error trace [2021-09-14 00:02:54,342 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1] [2021-09-14 00:02:54,349 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (17)] Forceful destruction successful, exit code 0 [2021-09-14 00:02:54,549 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-09-14 00:02:54,549 INFO L402 AbstractCegarLoop]: === Iteration 17 === Targeting _destroy_in_nondeterministic_orderErr36ASSERT_VIOLATIONMEMORY_FREE === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-14 00:02:54,550 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-14 00:02:54,550 INFO L82 PathProgramCache]: Analyzing trace with hash -315209418, now seen corresponding path program 1 times [2021-09-14 00:02:54,550 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-09-14 00:02:54,550 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1143865342] [2021-09-14 00:02:54,550 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-14 00:02:54,551 INFO L170 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-09-14 00:02:54,551 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-09-14 00:02:54,551 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2021-09-14 00:02:54,553 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (18)] Waiting until timeout for monitored process [2021-09-14 00:02:54,654 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-14 00:02:54,657 INFO L263 TraceCheckSpWp]: Trace formula consists of 153 conjuncts, 20 conjunts are in the unsatisfiable core [2021-09-14 00:02:54,667 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-14 00:02:54,667 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-14 00:02:54,822 INFO L388 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 18 [2021-09-14 00:02:55,063 INFO L388 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 23 treesize of output 15 [2021-09-14 00:02:55,166 INFO L264 TraceCheckUtils]: 0: Hoare triple {11136#true} call ULTIMATE.init(); {11136#true} is VALID [2021-09-14 00:02:55,166 INFO L281 TraceCheckUtils]: 1: Hoare triple {11136#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {11136#true} is VALID [2021-09-14 00:02:55,166 INFO L281 TraceCheckUtils]: 2: Hoare triple {11136#true} assume true; {11136#true} is VALID [2021-09-14 00:02:55,166 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {11136#true} {11136#true} #223#return; {11136#true} is VALID [2021-09-14 00:02:55,166 INFO L264 TraceCheckUtils]: 4: Hoare triple {11136#true} call #t~ret13 := main(); {11136#true} is VALID [2021-09-14 00:02:55,166 INFO L281 TraceCheckUtils]: 5: Hoare triple {11136#true} ~len~0 := 3bv32; {11136#true} is VALID [2021-09-14 00:02:55,166 INFO L264 TraceCheckUtils]: 6: Hoare triple {11136#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {11136#true} is VALID [2021-09-14 00:02:55,166 INFO L281 TraceCheckUtils]: 7: Hoare triple {11136#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {11136#true} is VALID [2021-09-14 00:02:55,166 INFO L281 TraceCheckUtils]: 8: Hoare triple {11136#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {11136#true} is VALID [2021-09-14 00:02:55,166 INFO L281 TraceCheckUtils]: 9: Hoare triple {11136#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {11136#true} is VALID [2021-09-14 00:02:55,167 INFO L281 TraceCheckUtils]: 10: Hoare triple {11136#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {11136#true} is VALID [2021-09-14 00:02:55,167 INFO L281 TraceCheckUtils]: 11: Hoare triple {11136#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {11136#true} is VALID [2021-09-14 00:02:55,167 INFO L281 TraceCheckUtils]: 12: Hoare triple {11136#true} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {11136#true} is VALID [2021-09-14 00:02:55,167 INFO L281 TraceCheckUtils]: 13: Hoare triple {11136#true} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {11136#true} is VALID [2021-09-14 00:02:55,167 INFO L281 TraceCheckUtils]: 14: Hoare triple {11136#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {11136#true} is VALID [2021-09-14 00:02:55,167 INFO L281 TraceCheckUtils]: 15: Hoare triple {11136#true} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {11136#true} is VALID [2021-09-14 00:02:55,167 INFO L281 TraceCheckUtils]: 16: Hoare triple {11136#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {11136#true} is VALID [2021-09-14 00:02:55,168 INFO L281 TraceCheckUtils]: 17: Hoare triple {11136#true} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {11192#(= dll_circular_create_~new_head~0.offset (_ bv0 32))} is VALID [2021-09-14 00:02:55,168 INFO L281 TraceCheckUtils]: 18: Hoare triple {11192#(= dll_circular_create_~new_head~0.offset (_ bv0 32))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {11192#(= dll_circular_create_~new_head~0.offset (_ bv0 32))} is VALID [2021-09-14 00:02:55,168 INFO L281 TraceCheckUtils]: 19: Hoare triple {11192#(= dll_circular_create_~new_head~0.offset (_ bv0 32))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {11192#(= dll_circular_create_~new_head~0.offset (_ bv0 32))} is VALID [2021-09-14 00:02:55,168 INFO L281 TraceCheckUtils]: 20: Hoare triple {11192#(= dll_circular_create_~new_head~0.offset (_ bv0 32))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {11192#(= dll_circular_create_~new_head~0.offset (_ bv0 32))} is VALID [2021-09-14 00:02:55,169 INFO L281 TraceCheckUtils]: 21: Hoare triple {11192#(= dll_circular_create_~new_head~0.offset (_ bv0 32))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {11205#(= dll_circular_create_~head~0.offset (_ bv0 32))} is VALID [2021-09-14 00:02:55,169 INFO L281 TraceCheckUtils]: 22: Hoare triple {11205#(= dll_circular_create_~head~0.offset (_ bv0 32))} assume !~bvsgt32(~len, 1bv32); {11205#(= dll_circular_create_~head~0.offset (_ bv0 32))} is VALID [2021-09-14 00:02:55,170 INFO L281 TraceCheckUtils]: 23: Hoare triple {11205#(= dll_circular_create_~head~0.offset (_ bv0 32))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {11212#(and (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:02:55,171 INFO L281 TraceCheckUtils]: 24: Hoare triple {11212#(and (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {11216#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))))) (_ bv1 1))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:02:55,172 INFO L281 TraceCheckUtils]: 25: Hoare triple {11216#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))))) (_ bv1 1))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {11220#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))))) (_ bv1 1))) (= |dll_circular_create_#res.offset| (_ bv0 32)))} is VALID [2021-09-14 00:02:55,172 INFO L281 TraceCheckUtils]: 26: Hoare triple {11220#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))))) (_ bv1 1))) (= |dll_circular_create_#res.offset| (_ bv0 32)))} assume true; {11220#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))))) (_ bv1 1))) (= |dll_circular_create_#res.offset| (_ bv0 32)))} is VALID [2021-09-14 00:02:55,173 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {11220#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))))) (_ bv1 1))) (= |dll_circular_create_#res.offset| (_ bv0 32)))} {11136#true} #219#return; {11227#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32)))))) (_ bv1 1))) (= |main_#t~ret12.offset| (_ bv0 32)))} is VALID [2021-09-14 00:02:55,173 INFO L281 TraceCheckUtils]: 28: Hoare triple {11227#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32)))))) (_ bv1 1))) (= |main_#t~ret12.offset| (_ bv0 32)))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {11231#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32))))))) (_ bv1 1))) (= main_~head~1.offset (_ bv0 32)))} is VALID [2021-09-14 00:02:55,174 INFO L264 TraceCheckUtils]: 29: Hoare triple {11231#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32))))))) (_ bv1 1))) (= main_~head~1.offset (_ bv0 32)))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {11235#(and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32))))))))) (= |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv0 32)))} is VALID [2021-09-14 00:02:55,175 INFO L281 TraceCheckUtils]: 30: Hoare triple {11235#(and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32))))))))) (= |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv0 32)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {11239#(and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))))))))) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)))} is VALID [2021-09-14 00:02:55,175 INFO L281 TraceCheckUtils]: 31: Hoare triple {11239#(and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))))))))) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {11243#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |_destroy_in_nondeterministic_order_#t~mem5.base|)))))))) (_ bv1 1)))} is VALID [2021-09-14 00:02:55,176 INFO L281 TraceCheckUtils]: 32: Hoare triple {11243#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |_destroy_in_nondeterministic_order_#t~mem5.base|)))))))) (_ bv1 1)))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {11247#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:02:55,176 INFO L281 TraceCheckUtils]: 33: Hoare triple {11247#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1)))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {11247#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:02:55,176 INFO L281 TraceCheckUtils]: 34: Hoare triple {11247#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1)))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {11247#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:02:55,177 INFO L281 TraceCheckUtils]: 35: Hoare triple {11247#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1)))} assume !(0bv32 != #t~nondet7);havoc #t~nondet7; {11247#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:02:55,177 INFO L281 TraceCheckUtils]: 36: Hoare triple {11247#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1)))} assume !(0bv32 != #t~nondet9);havoc #t~nondet9; {11247#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:02:55,177 INFO L281 TraceCheckUtils]: 37: Hoare triple {11247#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1)))} assume 0bv32 == ~pred~0.offset; {11247#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:02:55,178 INFO L281 TraceCheckUtils]: 38: Hoare triple {11247#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1)))} assume ~bvult32(~pred~0.base, #StackHeapBarrier); {11247#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:02:55,178 INFO L281 TraceCheckUtils]: 39: Hoare triple {11247#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1)))} assume !(0bv32 == ~pred~0.base || 1bv1 == #valid[~pred~0.base]); {11137#false} is VALID [2021-09-14 00:02:55,178 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2021-09-14 00:02:55,178 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-14 00:02:55,888 INFO L281 TraceCheckUtils]: 39: Hoare triple {11247#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1)))} assume !(0bv32 == ~pred~0.base || 1bv1 == #valid[~pred~0.base]); {11137#false} is VALID [2021-09-14 00:02:55,888 INFO L281 TraceCheckUtils]: 38: Hoare triple {11247#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1)))} assume ~bvult32(~pred~0.base, #StackHeapBarrier); {11247#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:02:55,888 INFO L281 TraceCheckUtils]: 37: Hoare triple {11247#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1)))} assume 0bv32 == ~pred~0.offset; {11247#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:02:55,889 INFO L281 TraceCheckUtils]: 36: Hoare triple {11247#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1)))} assume !(0bv32 != #t~nondet9);havoc #t~nondet9; {11247#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:02:55,889 INFO L281 TraceCheckUtils]: 35: Hoare triple {11247#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1)))} assume !(0bv32 != #t~nondet7);havoc #t~nondet7; {11247#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:02:55,889 INFO L281 TraceCheckUtils]: 34: Hoare triple {11247#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1)))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {11247#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:02:55,890 INFO L281 TraceCheckUtils]: 33: Hoare triple {11247#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1)))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {11247#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:02:55,890 INFO L281 TraceCheckUtils]: 32: Hoare triple {11243#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |_destroy_in_nondeterministic_order_#t~mem5.base|)))))))) (_ bv1 1)))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {11247#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:02:55,891 INFO L281 TraceCheckUtils]: 31: Hoare triple {11293#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset)))))))))))) (_ bv1 1)))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {11243#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |_destroy_in_nondeterministic_order_#t~mem5.base|)))))))) (_ bv1 1)))} is VALID [2021-09-14 00:02:55,891 INFO L281 TraceCheckUtils]: 30: Hoare triple {11297#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (bvadd |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv4 32))))))))))))) (_ bv1 1)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {11293#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset)))))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:02:55,892 INFO L264 TraceCheckUtils]: 29: Hoare triple {11301#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) (bvadd (_ bv4 32) main_~head~1.offset))))))))))))))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {11297#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (bvadd |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv4 32))))))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:02:55,892 INFO L281 TraceCheckUtils]: 28: Hoare triple {11305#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (bvadd (_ bv4 32) |main_#t~ret12.offset|)))))))))))) (_ bv1 1)))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {11301#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) (bvadd (_ bv4 32) main_~head~1.offset))))))))))))))} is VALID [2021-09-14 00:02:55,893 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {11312#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))))))))))))) (_ bv1 1)))} {11136#true} #219#return; {11305#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (bvadd (_ bv4 32) |main_#t~ret12.offset|)))))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:02:55,894 INFO L281 TraceCheckUtils]: 26: Hoare triple {11312#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))))))))))))) (_ bv1 1)))} assume true; {11312#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))))))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:02:55,894 INFO L281 TraceCheckUtils]: 25: Hoare triple {11319#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)))))))))))))))) (_ bv1 1)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {11312#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))))))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:02:55,896 INFO L281 TraceCheckUtils]: 24: Hoare triple {11323#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base)))))))))))))))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {11319#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)))))))))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:02:55,896 INFO L281 TraceCheckUtils]: 23: Hoare triple {11136#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {11323#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base)))))))))))))))))} is VALID [2021-09-14 00:02:55,896 INFO L281 TraceCheckUtils]: 22: Hoare triple {11136#true} assume !~bvsgt32(~len, 1bv32); {11136#true} is VALID [2021-09-14 00:02:55,897 INFO L281 TraceCheckUtils]: 21: Hoare triple {11136#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {11136#true} is VALID [2021-09-14 00:02:55,897 INFO L281 TraceCheckUtils]: 20: Hoare triple {11136#true} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {11136#true} is VALID [2021-09-14 00:02:55,897 INFO L281 TraceCheckUtils]: 19: Hoare triple {11136#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {11136#true} is VALID [2021-09-14 00:02:55,897 INFO L281 TraceCheckUtils]: 18: Hoare triple {11136#true} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {11136#true} is VALID [2021-09-14 00:02:55,897 INFO L281 TraceCheckUtils]: 17: Hoare triple {11136#true} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {11136#true} is VALID [2021-09-14 00:02:55,897 INFO L281 TraceCheckUtils]: 16: Hoare triple {11136#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {11136#true} is VALID [2021-09-14 00:02:55,897 INFO L281 TraceCheckUtils]: 15: Hoare triple {11136#true} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {11136#true} is VALID [2021-09-14 00:02:55,897 INFO L281 TraceCheckUtils]: 14: Hoare triple {11136#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {11136#true} is VALID [2021-09-14 00:02:55,897 INFO L281 TraceCheckUtils]: 13: Hoare triple {11136#true} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {11136#true} is VALID [2021-09-14 00:02:55,897 INFO L281 TraceCheckUtils]: 12: Hoare triple {11136#true} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {11136#true} is VALID [2021-09-14 00:02:55,897 INFO L281 TraceCheckUtils]: 11: Hoare triple {11136#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {11136#true} is VALID [2021-09-14 00:02:55,897 INFO L281 TraceCheckUtils]: 10: Hoare triple {11136#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {11136#true} is VALID [2021-09-14 00:02:55,897 INFO L281 TraceCheckUtils]: 9: Hoare triple {11136#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {11136#true} is VALID [2021-09-14 00:02:55,897 INFO L281 TraceCheckUtils]: 8: Hoare triple {11136#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {11136#true} is VALID [2021-09-14 00:02:55,897 INFO L281 TraceCheckUtils]: 7: Hoare triple {11136#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {11136#true} is VALID [2021-09-14 00:02:55,897 INFO L264 TraceCheckUtils]: 6: Hoare triple {11136#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {11136#true} is VALID [2021-09-14 00:02:55,898 INFO L281 TraceCheckUtils]: 5: Hoare triple {11136#true} ~len~0 := 3bv32; {11136#true} is VALID [2021-09-14 00:02:55,898 INFO L264 TraceCheckUtils]: 4: Hoare triple {11136#true} call #t~ret13 := main(); {11136#true} is VALID [2021-09-14 00:02:55,898 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {11136#true} {11136#true} #223#return; {11136#true} is VALID [2021-09-14 00:02:55,898 INFO L281 TraceCheckUtils]: 2: Hoare triple {11136#true} assume true; {11136#true} is VALID [2021-09-14 00:02:55,898 INFO L281 TraceCheckUtils]: 1: Hoare triple {11136#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {11136#true} is VALID [2021-09-14 00:02:55,898 INFO L264 TraceCheckUtils]: 0: Hoare triple {11136#true} call ULTIMATE.init(); {11136#true} is VALID [2021-09-14 00:02:55,898 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2021-09-14 00:02:55,898 INFO L139 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2021-09-14 00:02:55,898 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1143865342] [2021-09-14 00:02:55,898 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1143865342] provided 2 perfect and 0 imperfect interpolant sequences [2021-09-14 00:02:55,898 INFO L186 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2021-09-14 00:02:55,898 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12, 10] imperfect sequences [] total 19 [2021-09-14 00:02:55,899 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1989805498] [2021-09-14 00:02:55,899 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) Word has length 40 [2021-09-14 00:02:55,899 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-14 00:02:55,899 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 20 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:02:55,945 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-14 00:02:55,945 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2021-09-14 00:02:55,945 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2021-09-14 00:02:55,946 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2021-09-14 00:02:55,946 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=334, Unknown=0, NotChecked=0, Total=380 [2021-09-14 00:02:55,946 INFO L87 Difference]: Start difference. First operand 107 states and 112 transitions. Second operand has 20 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:03:01,122 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:03:01,122 INFO L93 Difference]: Finished difference Result 106 states and 111 transitions. [2021-09-14 00:03:01,122 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2021-09-14 00:03:01,122 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) Word has length 40 [2021-09-14 00:03:01,122 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-14 00:03:01,123 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:03:01,123 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 111 transitions. [2021-09-14 00:03:01,123 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:03:01,124 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 111 transitions. [2021-09-14 00:03:01,124 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 111 transitions. [2021-09-14 00:03:01,222 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-14 00:03:01,223 INFO L225 Difference]: With dead ends: 106 [2021-09-14 00:03:01,223 INFO L226 Difference]: Without dead ends: 106 [2021-09-14 00:03:01,223 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 60 SyntacticMatches, 2 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 74 ImplicationChecksByTransitivity, 731.83ms TimeCoverageRelationStatistics Valid=102, Invalid=600, Unknown=0, NotChecked=0, Total=702 [2021-09-14 00:03:01,224 INFO L928 BasicCegarLoop]: 7 mSDtfsCounter, 68 mSDsluCounter, 849 mSDsCounter, 0 mSdLazyCounter, 1545 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2333.46ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 68 SdHoareTripleChecker+Valid, 76 SdHoareTripleChecker+Invalid, 1552 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 9.05ms SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 1545 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2345.70ms IncrementalHoareTripleChecker+Time [2021-09-14 00:03:01,224 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [68 Valid, 76 Invalid, 1552 Unknown, 0 Unchecked, 9.05ms Time], IncrementalHoareTripleChecker [7 Valid, 1545 Invalid, 0 Unknown, 0 Unchecked, 2345.70ms Time] [2021-09-14 00:03:01,224 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 106 states. [2021-09-14 00:03:01,225 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 106 to 106. [2021-09-14 00:03:01,225 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-14 00:03:01,225 INFO L82 GeneralOperation]: Start isEquivalent. First operand 106 states. Second operand has 106 states, 79 states have (on average 1.3164556962025316) internal successors, (104), 98 states have internal predecessors, (104), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:03:01,226 INFO L74 IsIncluded]: Start isIncluded. First operand 106 states. Second operand has 106 states, 79 states have (on average 1.3164556962025316) internal successors, (104), 98 states have internal predecessors, (104), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:03:01,226 INFO L87 Difference]: Start difference. First operand 106 states. Second operand has 106 states, 79 states have (on average 1.3164556962025316) internal successors, (104), 98 states have internal predecessors, (104), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:03:01,227 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:03:01,227 INFO L93 Difference]: Finished difference Result 106 states and 111 transitions. [2021-09-14 00:03:01,227 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 111 transitions. [2021-09-14 00:03:01,227 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-14 00:03:01,227 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-14 00:03:01,227 INFO L74 IsIncluded]: Start isIncluded. First operand has 106 states, 79 states have (on average 1.3164556962025316) internal successors, (104), 98 states have internal predecessors, (104), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 106 states. [2021-09-14 00:03:01,228 INFO L87 Difference]: Start difference. First operand has 106 states, 79 states have (on average 1.3164556962025316) internal successors, (104), 98 states have internal predecessors, (104), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 106 states. [2021-09-14 00:03:01,229 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:03:01,229 INFO L93 Difference]: Finished difference Result 106 states and 111 transitions. [2021-09-14 00:03:01,229 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 111 transitions. [2021-09-14 00:03:01,229 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-14 00:03:01,229 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-14 00:03:01,229 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-14 00:03:01,229 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-14 00:03:01,229 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 106 states, 79 states have (on average 1.3164556962025316) internal successors, (104), 98 states have internal predecessors, (104), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:03:01,230 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 111 transitions. [2021-09-14 00:03:01,230 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 111 transitions. Word has length 40 [2021-09-14 00:03:01,231 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-14 00:03:01,231 INFO L470 AbstractCegarLoop]: Abstraction has 106 states and 111 transitions. [2021-09-14 00:03:01,231 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:03:01,231 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 111 transitions. [2021-09-14 00:03:01,231 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2021-09-14 00:03:01,231 INFO L505 BasicCegarLoop]: Found error trace [2021-09-14 00:03:01,231 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1] [2021-09-14 00:03:01,253 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (18)] Forceful destruction successful, exit code 0 [2021-09-14 00:03:01,431 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-09-14 00:03:01,432 INFO L402 AbstractCegarLoop]: === Iteration 18 === Targeting _destroy_in_nondeterministic_orderErr21ASSERT_VIOLATIONMEMORY_FREE === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-14 00:03:01,432 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-14 00:03:01,432 INFO L82 PathProgramCache]: Analyzing trace with hash -316379210, now seen corresponding path program 1 times [2021-09-14 00:03:01,432 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-09-14 00:03:01,433 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [526148445] [2021-09-14 00:03:01,433 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-14 00:03:01,433 INFO L170 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-09-14 00:03:01,433 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-09-14 00:03:01,434 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2021-09-14 00:03:01,471 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (19)] Waiting until timeout for monitored process [2021-09-14 00:03:01,556 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-14 00:03:01,561 INFO L263 TraceCheckSpWp]: Trace formula consists of 153 conjuncts, 28 conjunts are in the unsatisfiable core [2021-09-14 00:03:01,573 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-14 00:03:01,574 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-14 00:03:01,628 INFO L388 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 [2021-09-14 00:03:01,767 INFO L354 Elim1Store]: treesize reduction 16, result has 36.0 percent of original size [2021-09-14 00:03:01,768 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 23 treesize of output 25 [2021-09-14 00:03:01,843 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2021-09-14 00:03:01,922 INFO L354 Elim1Store]: treesize reduction 29, result has 19.4 percent of original size [2021-09-14 00:03:01,923 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 42 treesize of output 32 [2021-09-14 00:03:02,160 INFO L354 Elim1Store]: treesize reduction 45, result has 16.7 percent of original size [2021-09-14 00:03:02,161 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 46 treesize of output 43 [2021-09-14 00:03:02,265 INFO L190 IndexEqualityManager]: detected not equals via solver [2021-09-14 00:03:02,304 INFO L354 Elim1Store]: treesize reduction 102, result has 14.3 percent of original size [2021-09-14 00:03:02,304 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 5 case distinctions, treesize of input 59 treesize of output 59 [2021-09-14 00:03:03,179 INFO L354 Elim1Store]: treesize reduction 66, result has 1.5 percent of original size [2021-09-14 00:03:03,179 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 1 disjoint index pairs (out of 6 index pairs), introduced 6 new quantified variables, introduced 6 case distinctions, treesize of input 67 treesize of output 39 [2021-09-14 00:03:03,311 INFO L264 TraceCheckUtils]: 0: Hoare triple {11834#true} call ULTIMATE.init(); {11834#true} is VALID [2021-09-14 00:03:03,312 INFO L281 TraceCheckUtils]: 1: Hoare triple {11834#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {11834#true} is VALID [2021-09-14 00:03:03,312 INFO L281 TraceCheckUtils]: 2: Hoare triple {11834#true} assume true; {11834#true} is VALID [2021-09-14 00:03:03,312 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {11834#true} {11834#true} #223#return; {11834#true} is VALID [2021-09-14 00:03:03,312 INFO L264 TraceCheckUtils]: 4: Hoare triple {11834#true} call #t~ret13 := main(); {11834#true} is VALID [2021-09-14 00:03:03,312 INFO L281 TraceCheckUtils]: 5: Hoare triple {11834#true} ~len~0 := 3bv32; {11834#true} is VALID [2021-09-14 00:03:03,312 INFO L264 TraceCheckUtils]: 6: Hoare triple {11834#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {11834#true} is VALID [2021-09-14 00:03:03,312 INFO L281 TraceCheckUtils]: 7: Hoare triple {11834#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {11834#true} is VALID [2021-09-14 00:03:03,312 INFO L281 TraceCheckUtils]: 8: Hoare triple {11834#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {11834#true} is VALID [2021-09-14 00:03:03,312 INFO L281 TraceCheckUtils]: 9: Hoare triple {11834#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {11834#true} is VALID [2021-09-14 00:03:03,312 INFO L281 TraceCheckUtils]: 10: Hoare triple {11834#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {11834#true} is VALID [2021-09-14 00:03:03,313 INFO L281 TraceCheckUtils]: 11: Hoare triple {11834#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {11872#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} is VALID [2021-09-14 00:03:03,314 INFO L281 TraceCheckUtils]: 12: Hoare triple {11872#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {11876#(and (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-14 00:03:03,314 INFO L281 TraceCheckUtils]: 13: Hoare triple {11876#(and (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {11876#(and (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-14 00:03:03,315 INFO L281 TraceCheckUtils]: 14: Hoare triple {11876#(and (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {11876#(and (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-14 00:03:03,315 INFO L281 TraceCheckUtils]: 15: Hoare triple {11876#(and (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {11886#(and (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-14 00:03:03,316 INFO L281 TraceCheckUtils]: 16: Hoare triple {11886#(and (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {11890#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} is VALID [2021-09-14 00:03:03,317 INFO L281 TraceCheckUtils]: 17: Hoare triple {11890#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {11894#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:03:03,317 INFO L281 TraceCheckUtils]: 18: Hoare triple {11894#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {11894#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:03:03,318 INFO L281 TraceCheckUtils]: 19: Hoare triple {11894#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {11901#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} is VALID [2021-09-14 00:03:03,320 INFO L281 TraceCheckUtils]: 20: Hoare triple {11901#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {11905#(and (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (exists ((dll_circular_create_~head~0.offset (_ BitVec 32))) (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)))))} is VALID [2021-09-14 00:03:03,321 INFO L281 TraceCheckUtils]: 21: Hoare triple {11905#(and (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (exists ((dll_circular_create_~head~0.offset (_ BitVec 32))) (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {11909#(and (exists ((v_dll_circular_create_~head~0.offset_71 (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_71)))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} is VALID [2021-09-14 00:03:03,322 INFO L281 TraceCheckUtils]: 22: Hoare triple {11909#(and (exists ((v_dll_circular_create_~head~0.offset_71 (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_71)))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} assume !~bvsgt32(~len, 1bv32); {11909#(and (exists ((v_dll_circular_create_~head~0.offset_71 (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_71)))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} is VALID [2021-09-14 00:03:03,325 INFO L281 TraceCheckUtils]: 23: Hoare triple {11909#(and (exists ((v_dll_circular_create_~head~0.offset_71 (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_71)))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {11916#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)))) (_ bv1 1))) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_71 (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_71)))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} is VALID [2021-09-14 00:03:03,331 INFO L281 TraceCheckUtils]: 24: Hoare triple {11916#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)))) (_ bv1 1))) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_71 (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_71)))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {11920#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)))) (_ bv1 1))) (exists ((v_dll_circular_create_~head~0.offset_71 (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_71)))) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))) dll_circular_create_~last~0.offset) dll_circular_create_~head~0.base)) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} is VALID [2021-09-14 00:03:03,333 INFO L281 TraceCheckUtils]: 25: Hoare triple {11920#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)))) (_ bv1 1))) (exists ((v_dll_circular_create_~head~0.offset_71 (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_71)))) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))) dll_circular_create_~last~0.offset) dll_circular_create_~head~0.base)) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {11924#(and (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|)) (= |dll_circular_create_#res.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |dll_circular_create_#res.base|)) (exists ((v_dll_circular_create_~head~0.offset_71 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_71)) |dll_circular_create_#res.base|)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)))))) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |dll_circular_create_#res.base|)))} is VALID [2021-09-14 00:03:03,334 INFO L281 TraceCheckUtils]: 26: Hoare triple {11924#(and (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|)) (= |dll_circular_create_#res.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |dll_circular_create_#res.base|)) (exists ((v_dll_circular_create_~head~0.offset_71 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_71)) |dll_circular_create_#res.base|)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)))))) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |dll_circular_create_#res.base|)))} assume true; {11924#(and (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|)) (= |dll_circular_create_#res.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |dll_circular_create_#res.base|)) (exists ((v_dll_circular_create_~head~0.offset_71 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_71)) |dll_circular_create_#res.base|)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)))))) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |dll_circular_create_#res.base|)))} is VALID [2021-09-14 00:03:03,335 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {11924#(and (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|)) (= |dll_circular_create_#res.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |dll_circular_create_#res.base|)) (exists ((v_dll_circular_create_~head~0.offset_71 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_71)) |dll_circular_create_#res.base|)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)))))) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |dll_circular_create_#res.base|)))} {11834#true} #219#return; {11931#(and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv0 32)))))))))))) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32))) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_71 (_ BitVec 32))) (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_71)))) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv0 32)) |main_#t~ret12.base|)) (= |main_#t~ret12.offset| (_ bv0 32)) (not (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32)))))} is VALID [2021-09-14 00:03:03,337 INFO L281 TraceCheckUtils]: 28: Hoare triple {11931#(and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv0 32)))))))))))) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32))) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_71 (_ BitVec 32))) (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_71)))) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv0 32)) |main_#t~ret12.base|)) (= |main_#t~ret12.offset| (_ bv0 32)) (not (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32)))))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {11935#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32))))))))))) (_ bv1 1))) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32)))) (= main_~head~1.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32))) dll_circular_create_~last~0.offset) main_~head~1.base)) (exists ((v_dll_circular_create_~head~0.offset_71 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_71)) main_~head~1.base)) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32)) main_~head~1.base)))} is VALID [2021-09-14 00:03:03,339 INFO L264 TraceCheckUtils]: 29: Hoare triple {11935#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32))))))))))) (_ bv1 1))) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32)))) (= main_~head~1.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32))) dll_circular_create_~last~0.offset) main_~head~1.base)) (exists ((v_dll_circular_create_~head~0.offset_71 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_71)) main_~head~1.base)) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32)) main_~head~1.base)))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {11939#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32))))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32)) |_destroy_in_nondeterministic_order_#in~head.base|)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32))) dll_circular_create_~last~0.offset) |_destroy_in_nondeterministic_order_#in~head.base|)) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32)) |_destroy_in_nondeterministic_order_#in~head.base|)) (exists ((v_dll_circular_create_~head~0.offset_71 (_ BitVec 32))) (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_71)))) (= |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv0 32)))} is VALID [2021-09-14 00:03:03,340 INFO L281 TraceCheckUtils]: 30: Hoare triple {11939#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32))))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32)) |_destroy_in_nondeterministic_order_#in~head.base|)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32))) dll_circular_create_~last~0.offset) |_destroy_in_nondeterministic_order_#in~head.base|)) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32)) |_destroy_in_nondeterministic_order_#in~head.base|)) (exists ((v_dll_circular_create_~head~0.offset_71 (_ BitVec 32))) (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_71)))) (= |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv0 32)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {11943#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_71 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_71)) _destroy_in_nondeterministic_order_~head.base)))} is VALID [2021-09-14 00:03:03,341 INFO L281 TraceCheckUtils]: 31: Hoare triple {11943#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_71 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_71)) _destroy_in_nondeterministic_order_~head.base)))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {11943#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_71 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_71)) _destroy_in_nondeterministic_order_~head.base)))} is VALID [2021-09-14 00:03:03,341 INFO L281 TraceCheckUtils]: 32: Hoare triple {11943#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_71 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_71)) _destroy_in_nondeterministic_order_~head.base)))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {11943#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_71 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_71)) _destroy_in_nondeterministic_order_~head.base)))} is VALID [2021-09-14 00:03:03,342 INFO L281 TraceCheckUtils]: 33: Hoare triple {11943#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_71 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_71)) _destroy_in_nondeterministic_order_~head.base)))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {11953#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |_destroy_in_nondeterministic_order_#t~mem6.base|))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:03:03,342 INFO L281 TraceCheckUtils]: 34: Hoare triple {11953#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |_destroy_in_nondeterministic_order_#t~mem6.base|))))))))) (_ bv1 1)))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {11957#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:03:03,343 INFO L281 TraceCheckUtils]: 35: Hoare triple {11957#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))))) (_ bv1 1)))} assume !(0bv32 != #t~nondet7);havoc #t~nondet7; {11957#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:03:03,343 INFO L281 TraceCheckUtils]: 36: Hoare triple {11957#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))))) (_ bv1 1)))} assume 0bv32 != #t~nondet9;havoc #t~nondet9; {11957#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:03:03,343 INFO L281 TraceCheckUtils]: 37: Hoare triple {11957#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))))) (_ bv1 1)))} assume 0bv32 == ~succ~0.offset; {11957#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:03:03,344 INFO L281 TraceCheckUtils]: 38: Hoare triple {11957#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))))) (_ bv1 1)))} assume ~bvult32(~succ~0.base, #StackHeapBarrier); {11957#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:03:03,344 INFO L281 TraceCheckUtils]: 39: Hoare triple {11957#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))))) (_ bv1 1)))} assume !(0bv32 == ~succ~0.base || 1bv1 == #valid[~succ~0.base]); {11835#false} is VALID [2021-09-14 00:03:03,345 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-14 00:03:03,345 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-14 00:03:08,458 WARN L870 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2021-09-14 00:04:01,347 INFO L354 Elim1Store]: treesize reduction 5, result has 87.5 percent of original size [2021-09-14 00:04:01,347 INFO L388 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 70 treesize of output 69 [2021-09-14 00:04:03,361 WARN L838 $PredicateComparison]: unable to prove that (forall ((dll_circular_create_~last~0.offset (_ BitVec 32)) (dll_circular_create_~head~0.offset (_ BitVec 32))) (= (select (select (let ((.cse0 (store |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) c_dll_circular_create_~new_head~0.base)))) (store .cse0 c_dll_circular_create_~last~0.base (store (select .cse0 c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.base))) c_dll_circular_create_~new_head~0.base) c_dll_circular_create_~new_head~0.offset) c_dll_circular_create_~head~0.base)) is different from false [2021-09-14 00:04:05,174 INFO L354 Elim1Store]: treesize reduction 5, result has 37.5 percent of original size [2021-09-14 00:04:05,175 INFO L388 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 31 treesize of output 30 [2021-09-14 00:04:05,232 INFO L281 TraceCheckUtils]: 39: Hoare triple {11957#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))))) (_ bv1 1)))} assume !(0bv32 == ~succ~0.base || 1bv1 == #valid[~succ~0.base]); {11835#false} is VALID [2021-09-14 00:04:05,232 INFO L281 TraceCheckUtils]: 38: Hoare triple {11957#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))))) (_ bv1 1)))} assume ~bvult32(~succ~0.base, #StackHeapBarrier); {11957#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:04:05,233 INFO L281 TraceCheckUtils]: 37: Hoare triple {11957#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))))) (_ bv1 1)))} assume 0bv32 == ~succ~0.offset; {11957#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:04:05,233 INFO L281 TraceCheckUtils]: 36: Hoare triple {11957#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))))) (_ bv1 1)))} assume 0bv32 != #t~nondet9;havoc #t~nondet9; {11957#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:04:05,233 INFO L281 TraceCheckUtils]: 35: Hoare triple {11957#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))))) (_ bv1 1)))} assume !(0bv32 != #t~nondet7);havoc #t~nondet7; {11957#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:04:05,234 INFO L281 TraceCheckUtils]: 34: Hoare triple {11953#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |_destroy_in_nondeterministic_order_#t~mem6.base|))))))))) (_ bv1 1)))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {11957#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:04:05,234 INFO L281 TraceCheckUtils]: 33: Hoare triple {11991#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))))))))))))))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {11953#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |_destroy_in_nondeterministic_order_#t~mem6.base|))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:04:05,235 INFO L281 TraceCheckUtils]: 32: Hoare triple {11991#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))))))))))))))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {11991#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))))))))))))))} is VALID [2021-09-14 00:04:05,235 INFO L281 TraceCheckUtils]: 31: Hoare triple {11991#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))))))))))))))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {11991#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))))))))))))))} is VALID [2021-09-14 00:04:05,236 INFO L281 TraceCheckUtils]: 30: Hoare triple {12001#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|))))))))))))) (_ bv1 1)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {11991#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))))))))))))))} is VALID [2021-09-14 00:04:05,236 INFO L264 TraceCheckUtils]: 29: Hoare triple {12005#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset)))))))))))))))))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {12001#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|))))))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:04:05,237 INFO L281 TraceCheckUtils]: 28: Hoare triple {12009#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|))))))))))))))) (_ bv1 1)))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {12005#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset)))))))))))))))))} is VALID [2021-09-14 00:04:05,238 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {12016#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))))))))))))))) (_ bv1 1)))} {11834#true} #219#return; {12009#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|))))))))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:04:05,238 INFO L281 TraceCheckUtils]: 26: Hoare triple {12016#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))))))))))))))) (_ bv1 1)))} assume true; {12016#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))))))))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:04:05,239 INFO L281 TraceCheckUtils]: 25: Hoare triple {12023#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))))))))))))))))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {12016#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))))))))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:04:05,240 INFO L281 TraceCheckUtils]: 24: Hoare triple {12023#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))))))))))))))))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {12023#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))))))))))))))))))} is VALID [2021-09-14 00:04:05,242 INFO L281 TraceCheckUtils]: 23: Hoare triple {12030#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))))))))))))))))) (_ bv1 1))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {12023#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))))))))))))))))))} is VALID [2021-09-14 00:04:05,242 INFO L281 TraceCheckUtils]: 22: Hoare triple {12030#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))))))))))))))))) (_ bv1 1))))} assume !~bvsgt32(~len, 1bv32); {12030#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))))))))))))))))) (_ bv1 1))))} is VALID [2021-09-14 00:04:05,243 INFO L281 TraceCheckUtils]: 21: Hoare triple {12037#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))))))))))))))))))) (_ bv1 1))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {12030#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))))))))))))))))) (_ bv1 1))))} is VALID [2021-09-14 00:04:05,244 INFO L281 TraceCheckUtils]: 20: Hoare triple {12041#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32)) (dll_circular_create_~head~0.offset (_ BitVec 32))) (= (select (select (store (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) dll_circular_create_~new_head~0.base)) dll_circular_create_~last~0.base (store (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) dll_circular_create_~new_head~0.base)) dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) dll_circular_create_~head~0.base))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {12037#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))))))))))))))))))) (_ bv1 1))))} is VALID [2021-09-14 00:04:05,248 INFO L281 TraceCheckUtils]: 19: Hoare triple {12045#(or (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {12041#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32)) (dll_circular_create_~head~0.offset (_ BitVec 32))) (= (select (select (store (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) dll_circular_create_~new_head~0.base)) dll_circular_create_~last~0.base (store (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) dll_circular_create_~new_head~0.base)) dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) dll_circular_create_~head~0.base))} is VALID [2021-09-14 00:04:05,248 INFO L281 TraceCheckUtils]: 18: Hoare triple {12045#(or (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {12045#(or (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base))} is VALID [2021-09-14 00:04:05,249 INFO L281 TraceCheckUtils]: 17: Hoare triple {12052#(or (not (= (_ bv0 1) (bvneg (select |#valid| dll_circular_create_~last~0.base)))) (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {12045#(or (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base))} is VALID [2021-09-14 00:04:05,249 INFO L281 TraceCheckUtils]: 16: Hoare triple {12056#(or (not (= (_ bv0 1) (bvneg (select |#valid| dll_circular_create_~last~0.base)))) (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {12052#(or (not (= (_ bv0 1) (bvneg (select |#valid| dll_circular_create_~last~0.base)))) (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base))} is VALID [2021-09-14 00:04:05,250 INFO L281 TraceCheckUtils]: 15: Hoare triple {12060#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (not (= (_ bv0 1) (bvneg (select |#valid| dll_circular_create_~last~0.base)))) (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {12056#(or (not (= (_ bv0 1) (bvneg (select |#valid| dll_circular_create_~last~0.base)))) (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base))} is VALID [2021-09-14 00:04:05,250 INFO L281 TraceCheckUtils]: 14: Hoare triple {12060#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (not (= (_ bv0 1) (bvneg (select |#valid| dll_circular_create_~last~0.base)))) (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {12060#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (not (= (_ bv0 1) (bvneg (select |#valid| dll_circular_create_~last~0.base)))) (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base))} is VALID [2021-09-14 00:04:05,251 INFO L281 TraceCheckUtils]: 13: Hoare triple {12060#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (not (= (_ bv0 1) (bvneg (select |#valid| dll_circular_create_~last~0.base)))) (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {12060#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (not (= (_ bv0 1) (bvneg (select |#valid| dll_circular_create_~last~0.base)))) (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base))} is VALID [2021-09-14 00:04:05,251 INFO L281 TraceCheckUtils]: 12: Hoare triple {11872#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {12060#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (not (= (_ bv0 1) (bvneg (select |#valid| dll_circular_create_~last~0.base)))) (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base))} is VALID [2021-09-14 00:04:05,251 INFO L281 TraceCheckUtils]: 11: Hoare triple {11834#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {11872#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} is VALID [2021-09-14 00:04:05,251 INFO L281 TraceCheckUtils]: 10: Hoare triple {11834#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {11834#true} is VALID [2021-09-14 00:04:05,252 INFO L281 TraceCheckUtils]: 9: Hoare triple {11834#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {11834#true} is VALID [2021-09-14 00:04:05,252 INFO L281 TraceCheckUtils]: 8: Hoare triple {11834#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {11834#true} is VALID [2021-09-14 00:04:05,252 INFO L281 TraceCheckUtils]: 7: Hoare triple {11834#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {11834#true} is VALID [2021-09-14 00:04:05,252 INFO L264 TraceCheckUtils]: 6: Hoare triple {11834#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {11834#true} is VALID [2021-09-14 00:04:05,252 INFO L281 TraceCheckUtils]: 5: Hoare triple {11834#true} ~len~0 := 3bv32; {11834#true} is VALID [2021-09-14 00:04:05,252 INFO L264 TraceCheckUtils]: 4: Hoare triple {11834#true} call #t~ret13 := main(); {11834#true} is VALID [2021-09-14 00:04:05,252 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {11834#true} {11834#true} #223#return; {11834#true} is VALID [2021-09-14 00:04:05,252 INFO L281 TraceCheckUtils]: 2: Hoare triple {11834#true} assume true; {11834#true} is VALID [2021-09-14 00:04:05,252 INFO L281 TraceCheckUtils]: 1: Hoare triple {11834#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {11834#true} is VALID [2021-09-14 00:04:05,252 INFO L264 TraceCheckUtils]: 0: Hoare triple {11834#true} call ULTIMATE.init(); {11834#true} is VALID [2021-09-14 00:04:05,252 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 1 not checked. [2021-09-14 00:04:05,252 INFO L139 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2021-09-14 00:04:05,253 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [526148445] [2021-09-14 00:04:05,253 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleMathsat [526148445] provided 0 perfect and 2 imperfect interpolant sequences [2021-09-14 00:04:05,253 INFO L186 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2021-09-14 00:04:05,253 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 17] total 31 [2021-09-14 00:04:05,253 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [851127101] [2021-09-14 00:04:05,253 INFO L78 Accepts]: Start accepts. Automaton has has 32 states, 29 states have (on average 1.8620689655172413) internal successors, (54), 28 states have internal predecessors, (54), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) Word has length 40 [2021-09-14 00:04:05,253 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-14 00:04:05,254 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 32 states, 29 states have (on average 1.8620689655172413) internal successors, (54), 28 states have internal predecessors, (54), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:04:05,348 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-14 00:04:05,348 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 32 states [2021-09-14 00:04:05,348 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2021-09-14 00:04:05,348 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2021-09-14 00:04:05,349 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=93, Invalid=812, Unknown=29, NotChecked=58, Total=992 [2021-09-14 00:04:05,349 INFO L87 Difference]: Start difference. First operand 106 states and 111 transitions. Second operand has 32 states, 29 states have (on average 1.8620689655172413) internal successors, (54), 28 states have internal predecessors, (54), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:04:07,937 WARN L838 $PredicateComparison]: unable to prove that (and (forall ((dll_circular_create_~last~0.offset (_ BitVec 32)) (dll_circular_create_~head~0.offset (_ BitVec 32))) (= (select (select (let ((.cse0 (store |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) c_dll_circular_create_~new_head~0.base)))) (store .cse0 c_dll_circular_create_~last~0.base (store (select .cse0 c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.base))) c_dll_circular_create_~new_head~0.base) c_dll_circular_create_~new_head~0.offset) c_dll_circular_create_~head~0.base)) (= c_dll_circular_create_~last~0.base c_dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |c_#valid| c_dll_circular_create_~new_head~0.base)))) is different from false [2021-09-14 00:04:20,186 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:04:20,187 INFO L93 Difference]: Finished difference Result 134 states and 143 transitions. [2021-09-14 00:04:20,187 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2021-09-14 00:04:20,187 INFO L78 Accepts]: Start accepts. Automaton has has 32 states, 29 states have (on average 1.8620689655172413) internal successors, (54), 28 states have internal predecessors, (54), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) Word has length 40 [2021-09-14 00:04:20,187 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-14 00:04:20,187 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 29 states have (on average 1.8620689655172413) internal successors, (54), 28 states have internal predecessors, (54), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:04:20,188 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 144 transitions. [2021-09-14 00:04:20,188 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 29 states have (on average 1.8620689655172413) internal successors, (54), 28 states have internal predecessors, (54), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:04:20,189 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 144 transitions. [2021-09-14 00:04:20,189 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 144 transitions. [2021-09-14 00:04:20,318 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 144 edges. 144 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-14 00:04:20,319 INFO L225 Difference]: With dead ends: 134 [2021-09-14 00:04:20,319 INFO L226 Difference]: Without dead ends: 134 [2021-09-14 00:04:20,320 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 47 SyntacticMatches, 3 SemanticMatches, 36 ConstructedPredicates, 2 IntricatePredicates, 0 DeprecatedPredicates, 184 ImplicationChecksByTransitivity, 69362.61ms TimeCoverageRelationStatistics Valid=134, Invalid=1101, Unknown=33, NotChecked=138, Total=1406 [2021-09-14 00:04:20,320 INFO L928 BasicCegarLoop]: 8 mSDtfsCounter, 17 mSDsluCounter, 1009 mSDsCounter, 0 mSdLazyCounter, 1146 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1241.76ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 125 SdHoareTripleChecker+Invalid, 1560 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 4.76ms SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 1146 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 405 IncrementalHoareTripleChecker+Unchecked, 1248.16ms IncrementalHoareTripleChecker+Time [2021-09-14 00:04:20,320 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 125 Invalid, 1560 Unknown, 0 Unchecked, 4.76ms Time], IncrementalHoareTripleChecker [9 Valid, 1146 Invalid, 0 Unknown, 405 Unchecked, 1248.16ms Time] [2021-09-14 00:04:20,320 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 134 states. [2021-09-14 00:04:20,322 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 134 to 128. [2021-09-14 00:04:20,322 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-14 00:04:20,322 INFO L82 GeneralOperation]: Start isEquivalent. First operand 134 states. Second operand has 128 states, 99 states have (on average 1.2828282828282829) internal successors, (127), 118 states have internal predecessors, (127), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2021-09-14 00:04:20,322 INFO L74 IsIncluded]: Start isIncluded. First operand 134 states. Second operand has 128 states, 99 states have (on average 1.2828282828282829) internal successors, (127), 118 states have internal predecessors, (127), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2021-09-14 00:04:20,322 INFO L87 Difference]: Start difference. First operand 134 states. Second operand has 128 states, 99 states have (on average 1.2828282828282829) internal successors, (127), 118 states have internal predecessors, (127), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2021-09-14 00:04:20,324 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:04:20,324 INFO L93 Difference]: Finished difference Result 134 states and 143 transitions. [2021-09-14 00:04:20,324 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 143 transitions. [2021-09-14 00:04:20,324 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-14 00:04:20,324 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-14 00:04:20,325 INFO L74 IsIncluded]: Start isIncluded. First operand has 128 states, 99 states have (on average 1.2828282828282829) internal successors, (127), 118 states have internal predecessors, (127), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 134 states. [2021-09-14 00:04:20,325 INFO L87 Difference]: Start difference. First operand has 128 states, 99 states have (on average 1.2828282828282829) internal successors, (127), 118 states have internal predecessors, (127), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 134 states. [2021-09-14 00:04:20,326 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:04:20,326 INFO L93 Difference]: Finished difference Result 134 states and 143 transitions. [2021-09-14 00:04:20,326 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 143 transitions. [2021-09-14 00:04:20,327 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-14 00:04:20,327 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-14 00:04:20,327 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-14 00:04:20,327 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-14 00:04:20,328 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 128 states, 99 states have (on average 1.2828282828282829) internal successors, (127), 118 states have internal predecessors, (127), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2021-09-14 00:04:20,329 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 128 states to 128 states and 137 transitions. [2021-09-14 00:04:20,329 INFO L78 Accepts]: Start accepts. Automaton has 128 states and 137 transitions. Word has length 40 [2021-09-14 00:04:20,329 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-14 00:04:20,329 INFO L470 AbstractCegarLoop]: Abstraction has 128 states and 137 transitions. [2021-09-14 00:04:20,329 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 32 states, 29 states have (on average 1.8620689655172413) internal successors, (54), 28 states have internal predecessors, (54), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:04:20,329 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 137 transitions. [2021-09-14 00:04:20,330 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2021-09-14 00:04:20,330 INFO L505 BasicCegarLoop]: Found error trace [2021-09-14 00:04:20,330 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-14 00:04:20,354 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (19)] Forceful destruction successful, exit code 0 [2021-09-14 00:04:20,537 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-09-14 00:04:20,538 INFO L402 AbstractCegarLoop]: === Iteration 19 === Targeting _destroy_in_nondeterministic_orderErr8ASSERT_VIOLATIONMEMORY_FREE === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-14 00:04:20,538 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-14 00:04:20,538 INFO L82 PathProgramCache]: Analyzing trace with hash 383105491, now seen corresponding path program 1 times [2021-09-14 00:04:20,538 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-09-14 00:04:20,538 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1034520033] [2021-09-14 00:04:20,538 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-14 00:04:20,539 INFO L170 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-09-14 00:04:20,539 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-09-14 00:04:20,539 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2021-09-14 00:04:20,578 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (20)] Waiting until timeout for monitored process [2021-09-14 00:04:20,668 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-14 00:04:20,673 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 27 conjunts are in the unsatisfiable core [2021-09-14 00:04:20,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-14 00:04:20,696 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-14 00:04:20,750 INFO L388 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 [2021-09-14 00:04:20,929 INFO L354 Elim1Store]: treesize reduction 16, result has 36.0 percent of original size [2021-09-14 00:04:20,930 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 24 treesize of output 26 [2021-09-14 00:04:21,028 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2021-09-14 00:04:21,113 INFO L354 Elim1Store]: treesize reduction 29, result has 19.4 percent of original size [2021-09-14 00:04:21,114 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 37 treesize of output 27 [2021-09-14 00:04:21,378 INFO L354 Elim1Store]: treesize reduction 45, result has 16.7 percent of original size [2021-09-14 00:04:21,379 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 40 treesize of output 37 [2021-09-14 00:04:21,501 INFO L190 IndexEqualityManager]: detected not equals via solver [2021-09-14 00:04:21,536 INFO L354 Elim1Store]: treesize reduction 102, result has 14.3 percent of original size [2021-09-14 00:04:21,536 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 5 case distinctions, treesize of input 53 treesize of output 53 [2021-09-14 00:04:22,481 INFO L354 Elim1Store]: treesize reduction 66, result has 1.5 percent of original size [2021-09-14 00:04:22,481 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 1 disjoint index pairs (out of 6 index pairs), introduced 6 new quantified variables, introduced 6 case distinctions, treesize of input 58 treesize of output 30 [2021-09-14 00:04:22,878 INFO L264 TraceCheckUtils]: 0: Hoare triple {12648#true} call ULTIMATE.init(); {12648#true} is VALID [2021-09-14 00:04:22,878 INFO L281 TraceCheckUtils]: 1: Hoare triple {12648#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {12648#true} is VALID [2021-09-14 00:04:22,878 INFO L281 TraceCheckUtils]: 2: Hoare triple {12648#true} assume true; {12648#true} is VALID [2021-09-14 00:04:22,878 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {12648#true} {12648#true} #223#return; {12648#true} is VALID [2021-09-14 00:04:22,878 INFO L264 TraceCheckUtils]: 4: Hoare triple {12648#true} call #t~ret13 := main(); {12648#true} is VALID [2021-09-14 00:04:22,878 INFO L281 TraceCheckUtils]: 5: Hoare triple {12648#true} ~len~0 := 3bv32; {12648#true} is VALID [2021-09-14 00:04:22,879 INFO L264 TraceCheckUtils]: 6: Hoare triple {12648#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {12648#true} is VALID [2021-09-14 00:04:22,879 INFO L281 TraceCheckUtils]: 7: Hoare triple {12648#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {12648#true} is VALID [2021-09-14 00:04:22,879 INFO L281 TraceCheckUtils]: 8: Hoare triple {12648#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {12648#true} is VALID [2021-09-14 00:04:22,879 INFO L281 TraceCheckUtils]: 9: Hoare triple {12648#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {12648#true} is VALID [2021-09-14 00:04:22,879 INFO L281 TraceCheckUtils]: 10: Hoare triple {12648#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {12648#true} is VALID [2021-09-14 00:04:22,879 INFO L281 TraceCheckUtils]: 11: Hoare triple {12648#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {12686#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} is VALID [2021-09-14 00:04:22,880 INFO L281 TraceCheckUtils]: 12: Hoare triple {12686#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {12690#(and (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:04:22,881 INFO L281 TraceCheckUtils]: 13: Hoare triple {12690#(and (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {12690#(and (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:04:22,882 INFO L281 TraceCheckUtils]: 14: Hoare triple {12690#(and (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {12690#(and (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:04:22,883 INFO L281 TraceCheckUtils]: 15: Hoare triple {12690#(and (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {12700#(and (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:04:22,883 INFO L281 TraceCheckUtils]: 16: Hoare triple {12700#(and (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {12704#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} is VALID [2021-09-14 00:04:22,884 INFO L281 TraceCheckUtils]: 17: Hoare triple {12704#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {12708#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:04:22,885 INFO L281 TraceCheckUtils]: 18: Hoare triple {12708#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {12708#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:04:22,886 INFO L281 TraceCheckUtils]: 19: Hoare triple {12708#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {12715#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} is VALID [2021-09-14 00:04:22,891 INFO L281 TraceCheckUtils]: 20: Hoare triple {12715#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {12719#(and (bvult (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~head~0.offset (_ BitVec 32))) (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)))))} is VALID [2021-09-14 00:04:22,898 INFO L281 TraceCheckUtils]: 21: Hoare triple {12719#(and (bvult (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~head~0.offset (_ BitVec 32))) (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {12723#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.offset_82 (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_82)))) (= dll_circular_create_~head~0.offset (_ bv0 32)) (bvult (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) |#StackHeapBarrier|) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} is VALID [2021-09-14 00:04:22,898 INFO L281 TraceCheckUtils]: 22: Hoare triple {12723#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.offset_82 (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_82)))) (= dll_circular_create_~head~0.offset (_ bv0 32)) (bvult (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) |#StackHeapBarrier|) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} assume !~bvsgt32(~len, 1bv32); {12723#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.offset_82 (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_82)))) (= dll_circular_create_~head~0.offset (_ bv0 32)) (bvult (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) |#StackHeapBarrier|) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} is VALID [2021-09-14 00:04:22,907 INFO L281 TraceCheckUtils]: 23: Hoare triple {12723#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.offset_82 (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_82)))) (= dll_circular_create_~head~0.offset (_ bv0 32)) (bvult (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) |#StackHeapBarrier|) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {12730#(and (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset))) (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.offset_82 (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_82)))) (= dll_circular_create_~head~0.offset (_ bv0 32)) (bvult (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) |#StackHeapBarrier|) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} is VALID [2021-09-14 00:04:22,921 INFO L281 TraceCheckUtils]: 24: Hoare triple {12730#(and (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset))) (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.offset_82 (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_82)))) (= dll_circular_create_~head~0.offset (_ bv0 32)) (bvult (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) |#StackHeapBarrier|) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {12734#(and (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))) dll_circular_create_~last~0.offset) dll_circular_create_~head~0.base)) (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.offset_82 (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_82)))) (= dll_circular_create_~head~0.offset (_ bv0 32)) (bvult (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) |#StackHeapBarrier|) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} is VALID [2021-09-14 00:04:22,929 INFO L281 TraceCheckUtils]: 25: Hoare triple {12734#(and (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))) dll_circular_create_~last~0.offset) dll_circular_create_~head~0.base)) (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.offset_82 (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_82)))) (= dll_circular_create_~head~0.offset (_ bv0 32)) (bvult (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) |#StackHeapBarrier|) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {12738#(and (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|)) (bvult (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |#StackHeapBarrier|) (= |dll_circular_create_#res.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |dll_circular_create_#res.base|)) (bvult |dll_circular_create_#res.base| |#StackHeapBarrier|) (exists ((v_dll_circular_create_~head~0.offset_82 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_82)) |dll_circular_create_#res.base|)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |dll_circular_create_#res.base|)))} is VALID [2021-09-14 00:04:22,929 INFO L281 TraceCheckUtils]: 26: Hoare triple {12738#(and (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|)) (bvult (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |#StackHeapBarrier|) (= |dll_circular_create_#res.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |dll_circular_create_#res.base|)) (bvult |dll_circular_create_#res.base| |#StackHeapBarrier|) (exists ((v_dll_circular_create_~head~0.offset_82 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_82)) |dll_circular_create_#res.base|)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |dll_circular_create_#res.base|)))} assume true; {12738#(and (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|)) (bvult (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |#StackHeapBarrier|) (= |dll_circular_create_#res.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |dll_circular_create_#res.base|)) (bvult |dll_circular_create_#res.base| |#StackHeapBarrier|) (exists ((v_dll_circular_create_~head~0.offset_82 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_82)) |dll_circular_create_#res.base|)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |dll_circular_create_#res.base|)))} is VALID [2021-09-14 00:04:22,937 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {12738#(and (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|)) (bvult (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |#StackHeapBarrier|) (= |dll_circular_create_#res.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |dll_circular_create_#res.base|)) (bvult |dll_circular_create_#res.base| |#StackHeapBarrier|) (exists ((v_dll_circular_create_~head~0.offset_82 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_82)) |dll_circular_create_#res.base|)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |dll_circular_create_#res.base|)))} {12648#true} #219#return; {12745#(and (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32))) dll_circular_create_~last~0.offset))) (bvult |main_#t~ret12.base| |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv0 32)) |main_#t~ret12.base|)) (bvult (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv0 32)) |#StackHeapBarrier|) (= |main_#t~ret12.offset| (_ bv0 32)) (not (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32)))) (exists ((v_dll_circular_create_~head~0.offset_82 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_82)) |main_#t~ret12.base|)))} is VALID [2021-09-14 00:04:22,939 INFO L281 TraceCheckUtils]: 28: Hoare triple {12745#(and (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32))) dll_circular_create_~last~0.offset))) (bvult |main_#t~ret12.base| |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv0 32)) |main_#t~ret12.base|)) (bvult (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv0 32)) |#StackHeapBarrier|) (= |main_#t~ret12.offset| (_ bv0 32)) (not (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32)))) (exists ((v_dll_circular_create_~head~0.offset_82 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_82)) |main_#t~ret12.base|)))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {12749#(and (bvult main_~head~1.base |#StackHeapBarrier|) (exists ((v_dll_circular_create_~head~0.offset_82 (_ BitVec 32))) (= main_~head~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_82)))) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32)))) (= main_~head~1.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32))) dll_circular_create_~last~0.offset) main_~head~1.base)) (bvult (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32)) |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32)) main_~head~1.base)))} is VALID [2021-09-14 00:04:22,941 INFO L264 TraceCheckUtils]: 29: Hoare triple {12749#(and (bvult main_~head~1.base |#StackHeapBarrier|) (exists ((v_dll_circular_create_~head~0.offset_82 (_ BitVec 32))) (= main_~head~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_82)))) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32)))) (= main_~head~1.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32))) dll_circular_create_~last~0.offset) main_~head~1.base)) (bvult (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32)) |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32)) main_~head~1.base)))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {12753#(and (bvult (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32)) |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32)) |_destroy_in_nondeterministic_order_#in~head.base|)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32))) dll_circular_create_~last~0.offset) |_destroy_in_nondeterministic_order_#in~head.base|)) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32)) |_destroy_in_nondeterministic_order_#in~head.base|)) (exists ((v_dll_circular_create_~head~0.offset_82 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_82)) |_destroy_in_nondeterministic_order_#in~head.base|)) (= |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv0 32)) (bvult |_destroy_in_nondeterministic_order_#in~head.base| |#StackHeapBarrier|))} is VALID [2021-09-14 00:04:22,943 INFO L281 TraceCheckUtils]: 30: Hoare triple {12753#(and (bvult (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32)) |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32)) |_destroy_in_nondeterministic_order_#in~head.base|)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32))) dll_circular_create_~last~0.offset) |_destroy_in_nondeterministic_order_#in~head.base|)) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32)) |_destroy_in_nondeterministic_order_#in~head.base|)) (exists ((v_dll_circular_create_~head~0.offset_82 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_82)) |_destroy_in_nondeterministic_order_#in~head.base|)) (= |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv0 32)) (bvult |_destroy_in_nondeterministic_order_#in~head.base| |#StackHeapBarrier|))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {12757#(and (bvult (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_82 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_82)) _destroy_in_nondeterministic_order_~head.base)))} is VALID [2021-09-14 00:04:22,943 INFO L281 TraceCheckUtils]: 31: Hoare triple {12757#(and (bvult (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_82 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_82)) _destroy_in_nondeterministic_order_~head.base)))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {12757#(and (bvult (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_82 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_82)) _destroy_in_nondeterministic_order_~head.base)))} is VALID [2021-09-14 00:04:22,944 INFO L281 TraceCheckUtils]: 32: Hoare triple {12757#(and (bvult (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_82 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_82)) _destroy_in_nondeterministic_order_~head.base)))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {12757#(and (bvult (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_82 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_82)) _destroy_in_nondeterministic_order_~head.base)))} is VALID [2021-09-14 00:04:22,958 INFO L281 TraceCheckUtils]: 33: Hoare triple {12757#(and (bvult (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_82 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_82)) _destroy_in_nondeterministic_order_~head.base)))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {12767#(and (bvult |_destroy_in_nondeterministic_order_#t~mem6.base| |#StackHeapBarrier|) (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= |_destroy_in_nondeterministic_order_#t~mem6.base| _destroy_in_nondeterministic_order_~head.base)) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))))} is VALID [2021-09-14 00:04:22,975 INFO L281 TraceCheckUtils]: 34: Hoare triple {12767#(and (bvult |_destroy_in_nondeterministic_order_#t~mem6.base| |#StackHeapBarrier|) (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= |_destroy_in_nondeterministic_order_#t~mem6.base| _destroy_in_nondeterministic_order_~head.base)) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {12771#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))) (bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:04:22,975 INFO L281 TraceCheckUtils]: 35: Hoare triple {12771#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))) (bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|))} assume 0bv32 != #t~nondet7;havoc #t~nondet7; {12771#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))) (bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:04:22,976 INFO L281 TraceCheckUtils]: 36: Hoare triple {12771#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))) (bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|))} assume 0bv32 == ~head.offset; {12771#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))) (bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:04:22,976 INFO L281 TraceCheckUtils]: 37: Hoare triple {12771#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))) (bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|))} assume ~bvult32(~head.base, #StackHeapBarrier); {12771#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))) (bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:04:22,977 INFO L281 TraceCheckUtils]: 38: Hoare triple {12771#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))) (bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|))} assume 0bv32 == ~head.base || 1bv1 == #valid[~head.base];call ULTIMATE.dealloc(~head.base, ~head.offset); {12771#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))) (bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:04:22,977 INFO L281 TraceCheckUtils]: 39: Hoare triple {12771#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))) (bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|))} assume 0bv32 != #t~nondet8;havoc #t~nondet8; {12771#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))) (bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:04:22,977 INFO L281 TraceCheckUtils]: 40: Hoare triple {12771#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))) (bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|))} assume 0bv32 == ~succ~0.offset; {12771#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))) (bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:04:22,978 INFO L281 TraceCheckUtils]: 41: Hoare triple {12771#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))) (bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|))} assume !~bvult32(~succ~0.base, #StackHeapBarrier); {12649#false} is VALID [2021-09-14 00:04:22,978 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-14 00:04:22,978 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-14 00:04:26,556 WARN L838 $PredicateComparison]: unable to prove that (forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (bvult (select (select (store |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~head~0.base)) c_dll_circular_create_~head~0.base) c_dll_circular_create_~head~0.offset) |c_#StackHeapBarrier|)) is different from false [2021-09-14 00:04:27,953 WARN L838 $PredicateComparison]: unable to prove that (forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (bvult (select (select (store |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.base)) c_dll_circular_create_~new_head~0.base) c_dll_circular_create_~new_head~0.offset) |c_#StackHeapBarrier|)) is different from false [2021-09-14 00:04:29,973 WARN L838 $PredicateComparison]: unable to prove that (forall ((dll_circular_create_~last~0.offset (_ BitVec 32)) (dll_circular_create_~head~0.offset (_ BitVec 32))) (bvult (select (select (let ((.cse0 (store |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) c_dll_circular_create_~new_head~0.base)))) (store .cse0 c_dll_circular_create_~last~0.base (store (select .cse0 c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.base))) c_dll_circular_create_~new_head~0.base) c_dll_circular_create_~new_head~0.offset) |c_#StackHeapBarrier|)) is different from false [2021-09-14 00:04:30,876 INFO L281 TraceCheckUtils]: 41: Hoare triple {12793#(bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|)} assume !~bvult32(~succ~0.base, #StackHeapBarrier); {12649#false} is VALID [2021-09-14 00:04:30,876 INFO L281 TraceCheckUtils]: 40: Hoare triple {12793#(bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|)} assume 0bv32 == ~succ~0.offset; {12793#(bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:04:30,877 INFO L281 TraceCheckUtils]: 39: Hoare triple {12793#(bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|)} assume 0bv32 != #t~nondet8;havoc #t~nondet8; {12793#(bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:04:30,877 INFO L281 TraceCheckUtils]: 38: Hoare triple {12793#(bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|)} assume 0bv32 == ~head.base || 1bv1 == #valid[~head.base];call ULTIMATE.dealloc(~head.base, ~head.offset); {12793#(bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:04:30,877 INFO L281 TraceCheckUtils]: 37: Hoare triple {12793#(bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|)} assume ~bvult32(~head.base, #StackHeapBarrier); {12793#(bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:04:30,877 INFO L281 TraceCheckUtils]: 36: Hoare triple {12793#(bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|)} assume 0bv32 == ~head.offset; {12793#(bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:04:30,878 INFO L281 TraceCheckUtils]: 35: Hoare triple {12793#(bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|)} assume 0bv32 != #t~nondet7;havoc #t~nondet7; {12793#(bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:04:30,878 INFO L281 TraceCheckUtils]: 34: Hoare triple {12815#(bvult |_destroy_in_nondeterministic_order_#t~mem6.base| |#StackHeapBarrier|)} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {12793#(bvult _destroy_in_nondeterministic_order_~succ~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:04:30,879 INFO L281 TraceCheckUtils]: 33: Hoare triple {12819#(bvult (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) |#StackHeapBarrier|)} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {12815#(bvult |_destroy_in_nondeterministic_order_#t~mem6.base| |#StackHeapBarrier|)} is VALID [2021-09-14 00:04:30,879 INFO L281 TraceCheckUtils]: 32: Hoare triple {12819#(bvult (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) |#StackHeapBarrier|)} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {12819#(bvult (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) |#StackHeapBarrier|)} is VALID [2021-09-14 00:04:30,879 INFO L281 TraceCheckUtils]: 31: Hoare triple {12819#(bvult (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) |#StackHeapBarrier|)} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {12819#(bvult (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) |#StackHeapBarrier|)} is VALID [2021-09-14 00:04:30,879 INFO L281 TraceCheckUtils]: 30: Hoare triple {12829#(bvult (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|) |#StackHeapBarrier|)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {12819#(bvult (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) |#StackHeapBarrier|)} is VALID [2021-09-14 00:04:30,880 INFO L264 TraceCheckUtils]: 29: Hoare triple {12833#(bvult (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset) |#StackHeapBarrier|)} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {12829#(bvult (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|) |#StackHeapBarrier|)} is VALID [2021-09-14 00:04:30,880 INFO L281 TraceCheckUtils]: 28: Hoare triple {12837#(bvult (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|) |#StackHeapBarrier|)} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {12833#(bvult (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset) |#StackHeapBarrier|)} is VALID [2021-09-14 00:04:30,881 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {12844#(bvult (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |#StackHeapBarrier|)} {12648#true} #219#return; {12837#(bvult (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|) |#StackHeapBarrier|)} is VALID [2021-09-14 00:04:30,881 INFO L281 TraceCheckUtils]: 26: Hoare triple {12844#(bvult (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |#StackHeapBarrier|)} assume true; {12844#(bvult (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |#StackHeapBarrier|)} is VALID [2021-09-14 00:04:30,882 INFO L281 TraceCheckUtils]: 25: Hoare triple {12851#(bvult (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) |#StackHeapBarrier|)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {12844#(bvult (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |#StackHeapBarrier|)} is VALID [2021-09-14 00:04:30,916 INFO L281 TraceCheckUtils]: 24: Hoare triple {12851#(bvult (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {12851#(bvult (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) |#StackHeapBarrier|)} is VALID [2021-09-14 00:04:30,920 INFO L281 TraceCheckUtils]: 23: Hoare triple {12858#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (bvult (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {12851#(bvult (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) |#StackHeapBarrier|)} is VALID [2021-09-14 00:04:30,920 INFO L281 TraceCheckUtils]: 22: Hoare triple {12858#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (bvult (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) |#StackHeapBarrier|))} assume !~bvsgt32(~len, 1bv32); {12858#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (bvult (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) |#StackHeapBarrier|))} is VALID [2021-09-14 00:04:30,920 INFO L281 TraceCheckUtils]: 21: Hoare triple {12865#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (bvult (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) |#StackHeapBarrier|))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {12858#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (bvult (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset) |#StackHeapBarrier|))} is VALID [2021-09-14 00:04:30,924 INFO L281 TraceCheckUtils]: 20: Hoare triple {12869#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32)) (dll_circular_create_~head~0.offset (_ BitVec 32))) (bvult (select (select (store (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) dll_circular_create_~new_head~0.base)) dll_circular_create_~last~0.base (store (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) dll_circular_create_~new_head~0.base)) dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {12865#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (bvult (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) |#StackHeapBarrier|))} is VALID [2021-09-14 00:04:30,991 INFO L281 TraceCheckUtils]: 19: Hoare triple {12873#(and (or (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)) (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {12869#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32)) (dll_circular_create_~head~0.offset (_ BitVec 32))) (bvult (select (select (store (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) dll_circular_create_~new_head~0.base)) dll_circular_create_~last~0.base (store (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) dll_circular_create_~new_head~0.base)) dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset) |#StackHeapBarrier|))} is VALID [2021-09-14 00:04:30,992 INFO L281 TraceCheckUtils]: 18: Hoare triple {12873#(and (or (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)) (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {12873#(and (or (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)) (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:04:30,993 INFO L281 TraceCheckUtils]: 17: Hoare triple {12880#(or (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (forall ((v_dll_circular_create_~new_head~0.base_76 (_ BitVec 32))) (or (not (bvult v_dll_circular_create_~new_head~0.base_76 |#StackHeapBarrier|)) (not (= (_ bv0 1) (bvneg (bvneg (select |#valid| v_dll_circular_create_~new_head~0.base_76))))))))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {12873#(and (or (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)) (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:04:30,994 INFO L281 TraceCheckUtils]: 16: Hoare triple {12884#(or (forall ((v_dll_circular_create_~new_head~0.base_76 (_ BitVec 32))) (or (not (bvult v_dll_circular_create_~new_head~0.base_76 |#StackHeapBarrier|)) (not (= (_ bv0 1) (bvneg (bvneg (select |#valid| v_dll_circular_create_~new_head~0.base_76))))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {12880#(or (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (forall ((v_dll_circular_create_~new_head~0.base_76 (_ BitVec 32))) (or (not (bvult v_dll_circular_create_~new_head~0.base_76 |#StackHeapBarrier|)) (not (= (_ bv0 1) (bvneg (bvneg (select |#valid| v_dll_circular_create_~new_head~0.base_76))))))))} is VALID [2021-09-14 00:04:30,994 INFO L281 TraceCheckUtils]: 15: Hoare triple {12888#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (forall ((v_dll_circular_create_~new_head~0.base_76 (_ BitVec 32))) (or (not (bvult v_dll_circular_create_~new_head~0.base_76 |#StackHeapBarrier|)) (not (= (_ bv0 1) (bvneg (bvneg (select |#valid| v_dll_circular_create_~new_head~0.base_76))))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {12884#(or (forall ((v_dll_circular_create_~new_head~0.base_76 (_ BitVec 32))) (or (not (bvult v_dll_circular_create_~new_head~0.base_76 |#StackHeapBarrier|)) (not (= (_ bv0 1) (bvneg (bvneg (select |#valid| v_dll_circular_create_~new_head~0.base_76))))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:04:30,995 INFO L281 TraceCheckUtils]: 14: Hoare triple {12888#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (forall ((v_dll_circular_create_~new_head~0.base_76 (_ BitVec 32))) (or (not (bvult v_dll_circular_create_~new_head~0.base_76 |#StackHeapBarrier|)) (not (= (_ bv0 1) (bvneg (bvneg (select |#valid| v_dll_circular_create_~new_head~0.base_76))))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {12888#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (forall ((v_dll_circular_create_~new_head~0.base_76 (_ BitVec 32))) (or (not (bvult v_dll_circular_create_~new_head~0.base_76 |#StackHeapBarrier|)) (not (= (_ bv0 1) (bvneg (bvneg (select |#valid| v_dll_circular_create_~new_head~0.base_76))))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:04:30,995 INFO L281 TraceCheckUtils]: 13: Hoare triple {12888#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (forall ((v_dll_circular_create_~new_head~0.base_76 (_ BitVec 32))) (or (not (bvult v_dll_circular_create_~new_head~0.base_76 |#StackHeapBarrier|)) (not (= (_ bv0 1) (bvneg (bvneg (select |#valid| v_dll_circular_create_~new_head~0.base_76))))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {12888#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (forall ((v_dll_circular_create_~new_head~0.base_76 (_ BitVec 32))) (or (not (bvult v_dll_circular_create_~new_head~0.base_76 |#StackHeapBarrier|)) (not (= (_ bv0 1) (bvneg (bvneg (select |#valid| v_dll_circular_create_~new_head~0.base_76))))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:04:30,995 INFO L281 TraceCheckUtils]: 12: Hoare triple {12648#true} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {12888#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (forall ((v_dll_circular_create_~new_head~0.base_76 (_ BitVec 32))) (or (not (bvult v_dll_circular_create_~new_head~0.base_76 |#StackHeapBarrier|)) (not (= (_ bv0 1) (bvneg (bvneg (select |#valid| v_dll_circular_create_~new_head~0.base_76))))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:04:30,995 INFO L281 TraceCheckUtils]: 11: Hoare triple {12648#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {12648#true} is VALID [2021-09-14 00:04:30,996 INFO L281 TraceCheckUtils]: 10: Hoare triple {12648#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {12648#true} is VALID [2021-09-14 00:04:30,996 INFO L281 TraceCheckUtils]: 9: Hoare triple {12648#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {12648#true} is VALID [2021-09-14 00:04:30,996 INFO L281 TraceCheckUtils]: 8: Hoare triple {12648#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {12648#true} is VALID [2021-09-14 00:04:30,996 INFO L281 TraceCheckUtils]: 7: Hoare triple {12648#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {12648#true} is VALID [2021-09-14 00:04:30,996 INFO L264 TraceCheckUtils]: 6: Hoare triple {12648#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {12648#true} is VALID [2021-09-14 00:04:30,996 INFO L281 TraceCheckUtils]: 5: Hoare triple {12648#true} ~len~0 := 3bv32; {12648#true} is VALID [2021-09-14 00:04:30,996 INFO L264 TraceCheckUtils]: 4: Hoare triple {12648#true} call #t~ret13 := main(); {12648#true} is VALID [2021-09-14 00:04:30,996 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {12648#true} {12648#true} #223#return; {12648#true} is VALID [2021-09-14 00:04:30,996 INFO L281 TraceCheckUtils]: 2: Hoare triple {12648#true} assume true; {12648#true} is VALID [2021-09-14 00:04:30,996 INFO L281 TraceCheckUtils]: 1: Hoare triple {12648#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {12648#true} is VALID [2021-09-14 00:04:30,996 INFO L264 TraceCheckUtils]: 0: Hoare triple {12648#true} call ULTIMATE.init(); {12648#true} is VALID [2021-09-14 00:04:30,996 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 3 not checked. [2021-09-14 00:04:30,996 INFO L139 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2021-09-14 00:04:30,997 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1034520033] [2021-09-14 00:04:30,997 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1034520033] provided 0 perfect and 2 imperfect interpolant sequences [2021-09-14 00:04:30,997 INFO L186 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2021-09-14 00:04:30,997 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 16] total 33 [2021-09-14 00:04:30,997 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [781329153] [2021-09-14 00:04:30,997 INFO L78 Accepts]: Start accepts. Automaton has has 34 states, 31 states have (on average 2.096774193548387) internal successors, (65), 30 states have internal predecessors, (65), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) Word has length 42 [2021-09-14 00:04:30,997 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-14 00:04:30,997 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 34 states, 31 states have (on average 2.096774193548387) internal successors, (65), 30 states have internal predecessors, (65), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:04:31,394 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-14 00:04:31,394 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 34 states [2021-09-14 00:04:31,394 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2021-09-14 00:04:31,395 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2021-09-14 00:04:31,395 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=98, Invalid=841, Unknown=3, NotChecked=180, Total=1122 [2021-09-14 00:04:31,395 INFO L87 Difference]: Start difference. First operand 128 states and 137 transitions. Second operand has 34 states, 31 states have (on average 2.096774193548387) internal successors, (65), 30 states have internal predecessors, (65), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:04:40,653 WARN L210 SmtUtils]: Spent 8.14s on a formula simplification. DAG size of input: 47 DAG size of output: 46 [2021-09-14 00:04:46,840 WARN L210 SmtUtils]: Spent 6.08s on a formula simplification. DAG size of input: 31 DAG size of output: 30 [2021-09-14 00:04:55,591 WARN L210 SmtUtils]: Spent 6.06s on a formula simplification that was a NOOP. DAG size: 46 [2021-09-14 00:04:57,504 WARN L838 $PredicateComparison]: unable to prove that (and (forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (bvult (select (select (store |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.base)) c_dll_circular_create_~new_head~0.base) c_dll_circular_create_~new_head~0.offset) |c_#StackHeapBarrier|)) (or (forall ((v_dll_circular_create_~new_head~0.base_76 (_ BitVec 32))) (or (not (bvult v_dll_circular_create_~new_head~0.base_76 |c_#StackHeapBarrier|)) (not (= (_ bv0 1) (bvneg (bvneg (select |c_#valid| v_dll_circular_create_~new_head~0.base_76))))))) (bvult c_dll_circular_create_~new_head~0.base |c_#StackHeapBarrier|))) is different from false [2021-09-14 00:04:59,195 WARN L838 $PredicateComparison]: unable to prove that (and (or (bvult c_dll_circular_create_~head~0.base |c_#StackHeapBarrier|) (forall ((v_dll_circular_create_~new_head~0.base_76 (_ BitVec 32))) (or (not (bvult v_dll_circular_create_~new_head~0.base_76 |c_#StackHeapBarrier|)) (not (= (_ bv0 1) (bvneg (bvneg (select |c_#valid| v_dll_circular_create_~new_head~0.base_76)))))))) (forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (bvult (select (select (store |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~head~0.base)) c_dll_circular_create_~head~0.base) c_dll_circular_create_~head~0.offset) |c_#StackHeapBarrier|))) is different from false [2021-09-14 00:05:01,224 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:05:01,224 INFO L93 Difference]: Finished difference Result 136 states and 147 transitions. [2021-09-14 00:05:01,224 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2021-09-14 00:05:01,224 INFO L78 Accepts]: Start accepts. Automaton has has 34 states, 31 states have (on average 2.096774193548387) internal successors, (65), 30 states have internal predecessors, (65), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) Word has length 42 [2021-09-14 00:05:01,224 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-14 00:05:01,224 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 31 states have (on average 2.096774193548387) internal successors, (65), 30 states have internal predecessors, (65), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:05:01,226 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 144 transitions. [2021-09-14 00:05:01,226 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 31 states have (on average 2.096774193548387) internal successors, (65), 30 states have internal predecessors, (65), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:05:01,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 144 transitions. [2021-09-14 00:05:01,227 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 32 states and 144 transitions. [2021-09-14 00:05:01,655 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 144 edges. 144 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-14 00:05:01,657 INFO L225 Difference]: With dead ends: 136 [2021-09-14 00:05:01,657 INFO L226 Difference]: Without dead ends: 136 [2021-09-14 00:05:01,657 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 95 GetRequests, 52 SyntacticMatches, 2 SemanticMatches, 41 ConstructedPredicates, 5 IntricatePredicates, 1 DeprecatedPredicates, 194 ImplicationChecksByTransitivity, 33707.61ms TimeCoverageRelationStatistics Valid=164, Invalid=1257, Unknown=5, NotChecked=380, Total=1806 [2021-09-14 00:05:01,657 INFO L928 BasicCegarLoop]: 8 mSDtfsCounter, 43 mSDsluCounter, 835 mSDsCounter, 0 mSdLazyCounter, 861 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1269.12ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 45 SdHoareTripleChecker+Valid, 96 SdHoareTripleChecker+Invalid, 1732 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 6.01ms SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 861 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 864 IncrementalHoareTripleChecker+Unchecked, 1279.23ms IncrementalHoareTripleChecker+Time [2021-09-14 00:05:01,658 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [45 Valid, 96 Invalid, 1732 Unknown, 0 Unchecked, 6.01ms Time], IncrementalHoareTripleChecker [7 Valid, 861 Invalid, 0 Unknown, 864 Unchecked, 1279.23ms Time] [2021-09-14 00:05:01,658 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 136 states. [2021-09-14 00:05:01,659 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 136 to 127. [2021-09-14 00:05:01,659 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-14 00:05:01,660 INFO L82 GeneralOperation]: Start isEquivalent. First operand 136 states. Second operand has 127 states, 99 states have (on average 1.2727272727272727) internal successors, (126), 117 states have internal predecessors, (126), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2021-09-14 00:05:01,660 INFO L74 IsIncluded]: Start isIncluded. First operand 136 states. Second operand has 127 states, 99 states have (on average 1.2727272727272727) internal successors, (126), 117 states have internal predecessors, (126), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2021-09-14 00:05:01,660 INFO L87 Difference]: Start difference. First operand 136 states. Second operand has 127 states, 99 states have (on average 1.2727272727272727) internal successors, (126), 117 states have internal predecessors, (126), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2021-09-14 00:05:01,661 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:05:01,661 INFO L93 Difference]: Finished difference Result 136 states and 147 transitions. [2021-09-14 00:05:01,661 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 147 transitions. [2021-09-14 00:05:01,662 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-14 00:05:01,662 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-14 00:05:01,662 INFO L74 IsIncluded]: Start isIncluded. First operand has 127 states, 99 states have (on average 1.2727272727272727) internal successors, (126), 117 states have internal predecessors, (126), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 136 states. [2021-09-14 00:05:01,662 INFO L87 Difference]: Start difference. First operand has 127 states, 99 states have (on average 1.2727272727272727) internal successors, (126), 117 states have internal predecessors, (126), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 136 states. [2021-09-14 00:05:01,663 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:05:01,664 INFO L93 Difference]: Finished difference Result 136 states and 147 transitions. [2021-09-14 00:05:01,664 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 147 transitions. [2021-09-14 00:05:01,664 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-14 00:05:01,664 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-14 00:05:01,664 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-14 00:05:01,664 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-14 00:05:01,664 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 127 states, 99 states have (on average 1.2727272727272727) internal successors, (126), 117 states have internal predecessors, (126), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2021-09-14 00:05:01,666 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 127 states to 127 states and 136 transitions. [2021-09-14 00:05:01,667 INFO L78 Accepts]: Start accepts. Automaton has 127 states and 136 transitions. Word has length 42 [2021-09-14 00:05:01,667 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-14 00:05:01,667 INFO L470 AbstractCegarLoop]: Abstraction has 127 states and 136 transitions. [2021-09-14 00:05:01,667 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 34 states, 31 states have (on average 2.096774193548387) internal successors, (65), 30 states have internal predecessors, (65), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:05:01,668 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 136 transitions. [2021-09-14 00:05:01,668 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2021-09-14 00:05:01,668 INFO L505 BasicCegarLoop]: Found error trace [2021-09-14 00:05:01,668 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-14 00:05:01,678 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (20)] Forceful destruction successful, exit code 0 [2021-09-14 00:05:01,876 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-09-14 00:05:01,876 INFO L402 AbstractCegarLoop]: === Iteration 20 === Targeting _destroy_in_nondeterministic_orderErr15ASSERT_VIOLATIONMEMORY_FREE === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-14 00:05:01,877 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-14 00:05:01,877 INFO L82 PathProgramCache]: Analyzing trace with hash -1008200613, now seen corresponding path program 1 times [2021-09-14 00:05:01,877 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-09-14 00:05:01,877 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1306885112] [2021-09-14 00:05:01,877 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-14 00:05:01,877 INFO L170 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-09-14 00:05:01,877 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-09-14 00:05:01,878 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2021-09-14 00:05:01,918 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (21)] Waiting until timeout for monitored process [2021-09-14 00:05:02,016 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-14 00:05:02,021 INFO L263 TraceCheckSpWp]: Trace formula consists of 157 conjuncts, 26 conjunts are in the unsatisfiable core [2021-09-14 00:05:02,030 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-14 00:05:02,030 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-14 00:05:02,145 INFO L354 Elim1Store]: treesize reduction 15, result has 46.4 percent of original size [2021-09-14 00:05:02,145 INFO L388 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 20 treesize of output 27 [2021-09-14 00:05:02,395 INFO L388 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 23 [2021-09-14 00:05:02,765 INFO L388 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 31 treesize of output 19 [2021-09-14 00:05:02,980 INFO L354 Elim1Store]: treesize reduction 20, result has 28.6 percent of original size [2021-09-14 00:05:02,980 INFO L388 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 44 treesize of output 47 [2021-09-14 00:05:03,159 INFO L264 TraceCheckUtils]: 0: Hoare triple {13489#true} call ULTIMATE.init(); {13489#true} is VALID [2021-09-14 00:05:03,159 INFO L281 TraceCheckUtils]: 1: Hoare triple {13489#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {13489#true} is VALID [2021-09-14 00:05:03,160 INFO L281 TraceCheckUtils]: 2: Hoare triple {13489#true} assume true; {13489#true} is VALID [2021-09-14 00:05:03,160 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {13489#true} {13489#true} #223#return; {13489#true} is VALID [2021-09-14 00:05:03,160 INFO L264 TraceCheckUtils]: 4: Hoare triple {13489#true} call #t~ret13 := main(); {13489#true} is VALID [2021-09-14 00:05:03,160 INFO L281 TraceCheckUtils]: 5: Hoare triple {13489#true} ~len~0 := 3bv32; {13489#true} is VALID [2021-09-14 00:05:03,160 INFO L264 TraceCheckUtils]: 6: Hoare triple {13489#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {13489#true} is VALID [2021-09-14 00:05:03,160 INFO L281 TraceCheckUtils]: 7: Hoare triple {13489#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {13489#true} is VALID [2021-09-14 00:05:03,160 INFO L281 TraceCheckUtils]: 8: Hoare triple {13489#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {13489#true} is VALID [2021-09-14 00:05:03,160 INFO L281 TraceCheckUtils]: 9: Hoare triple {13489#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {13489#true} is VALID [2021-09-14 00:05:03,161 INFO L281 TraceCheckUtils]: 10: Hoare triple {13489#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {13489#true} is VALID [2021-09-14 00:05:03,161 INFO L281 TraceCheckUtils]: 11: Hoare triple {13489#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {13527#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} is VALID [2021-09-14 00:05:03,161 INFO L281 TraceCheckUtils]: 12: Hoare triple {13527#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {13527#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} is VALID [2021-09-14 00:05:03,161 INFO L281 TraceCheckUtils]: 13: Hoare triple {13527#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {13527#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} is VALID [2021-09-14 00:05:03,162 INFO L281 TraceCheckUtils]: 14: Hoare triple {13527#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {13527#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} is VALID [2021-09-14 00:05:03,162 INFO L281 TraceCheckUtils]: 15: Hoare triple {13527#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {13540#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} is VALID [2021-09-14 00:05:03,162 INFO L281 TraceCheckUtils]: 16: Hoare triple {13540#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {13540#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} is VALID [2021-09-14 00:05:03,164 INFO L281 TraceCheckUtils]: 17: Hoare triple {13540#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {13547#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:05:03,164 INFO L281 TraceCheckUtils]: 18: Hoare triple {13547#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {13547#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:05:03,165 INFO L281 TraceCheckUtils]: 19: Hoare triple {13547#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {13547#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:05:03,165 INFO L281 TraceCheckUtils]: 20: Hoare triple {13547#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {13547#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:05:03,166 INFO L281 TraceCheckUtils]: 21: Hoare triple {13547#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {13560#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:05:03,166 INFO L281 TraceCheckUtils]: 22: Hoare triple {13560#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)))} assume !~bvsgt32(~len, 1bv32); {13560#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:05:03,166 INFO L281 TraceCheckUtils]: 23: Hoare triple {13560#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {13560#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:05:03,168 INFO L281 TraceCheckUtils]: 24: Hoare triple {13560#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {13570#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:05:03,169 INFO L281 TraceCheckUtils]: 25: Hoare triple {13570#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {13574#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))))) (_ bv1 1))) (= |dll_circular_create_#res.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |dll_circular_create_#res.base|)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| |dll_circular_create_#res.base|)))) (_ bv1 1))))} is VALID [2021-09-14 00:05:03,169 INFO L281 TraceCheckUtils]: 26: Hoare triple {13574#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))))) (_ bv1 1))) (= |dll_circular_create_#res.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |dll_circular_create_#res.base|)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| |dll_circular_create_#res.base|)))) (_ bv1 1))))} assume true; {13574#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))))) (_ bv1 1))) (= |dll_circular_create_#res.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |dll_circular_create_#res.base|)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| |dll_circular_create_#res.base|)))) (_ bv1 1))))} is VALID [2021-09-14 00:05:03,170 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {13574#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))))) (_ bv1 1))) (= |dll_circular_create_#res.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |dll_circular_create_#res.base|)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| |dll_circular_create_#res.base|)))) (_ bv1 1))))} {13489#true} #219#return; {13581#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32)))))) (_ bv1 1))) (= |main_#t~ret12.offset| (_ bv0 32)) (not (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32)))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |main_#t~ret12.base|)))))) (_ bv1 1))))} is VALID [2021-09-14 00:05:03,171 INFO L281 TraceCheckUtils]: 28: Hoare triple {13581#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32)))))) (_ bv1 1))) (= |main_#t~ret12.offset| (_ bv0 32)) (not (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32)))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |main_#t~ret12.base|)))))) (_ bv1 1))))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {13585#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| main_~head~1.base))))))) (_ bv1 1))) (= main_~head~1.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32)) main_~head~1.base)))} is VALID [2021-09-14 00:05:03,172 INFO L264 TraceCheckUtils]: 29: Hoare triple {13585#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| main_~head~1.base))))))) (_ bv1 1))) (= main_~head~1.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32)) main_~head~1.base)))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {13589#(and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32))))))))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |_destroy_in_nondeterministic_order_#in~head.base|)))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32)) |_destroy_in_nondeterministic_order_#in~head.base|)) (= |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv0 32)))} is VALID [2021-09-14 00:05:03,172 INFO L281 TraceCheckUtils]: 30: Hoare triple {13589#(and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32))))))))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |_destroy_in_nondeterministic_order_#in~head.base|)))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32)) |_destroy_in_nondeterministic_order_#in~head.base|)) (= |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv0 32)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {13593#(and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))))))))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)))} is VALID [2021-09-14 00:05:03,173 INFO L281 TraceCheckUtils]: 31: Hoare triple {13593#(and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))))))))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {13597#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |_destroy_in_nondeterministic_order_#t~mem5.base|)))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (not (= |_destroy_in_nondeterministic_order_#t~mem5.base| _destroy_in_nondeterministic_order_~head.base)))} is VALID [2021-09-14 00:05:03,173 INFO L281 TraceCheckUtils]: 32: Hoare triple {13597#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |_destroy_in_nondeterministic_order_#t~mem5.base|)))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (not (= |_destroy_in_nondeterministic_order_#t~mem5.base| _destroy_in_nondeterministic_order_~head.base)))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {13601#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1))))} is VALID [2021-09-14 00:05:03,174 INFO L281 TraceCheckUtils]: 33: Hoare triple {13601#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1))))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {13601#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1))))} is VALID [2021-09-14 00:05:03,174 INFO L281 TraceCheckUtils]: 34: Hoare triple {13601#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1))))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {13601#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1))))} is VALID [2021-09-14 00:05:03,175 INFO L281 TraceCheckUtils]: 35: Hoare triple {13601#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1))))} assume 0bv32 != #t~nondet7;havoc #t~nondet7; {13601#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1))))} is VALID [2021-09-14 00:05:03,175 INFO L281 TraceCheckUtils]: 36: Hoare triple {13601#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1))))} assume 0bv32 == ~head.offset; {13601#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1))))} is VALID [2021-09-14 00:05:03,175 INFO L281 TraceCheckUtils]: 37: Hoare triple {13601#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1))))} assume ~bvult32(~head.base, #StackHeapBarrier); {13601#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1))))} is VALID [2021-09-14 00:05:03,178 INFO L281 TraceCheckUtils]: 38: Hoare triple {13601#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1))))} assume 0bv32 == ~head.base || 1bv1 == #valid[~head.base];call ULTIMATE.dealloc(~head.base, ~head.offset); {13620#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~head.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)))) (exists ((v_arrayElimCell_71 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_71)))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)) (bvneg (bvneg v_arrayElimCell_71)))))))} is VALID [2021-09-14 00:05:03,178 INFO L281 TraceCheckUtils]: 39: Hoare triple {13620#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~head.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)))) (exists ((v_arrayElimCell_71 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_71)))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)) (bvneg (bvneg v_arrayElimCell_71)))))))} assume !(0bv32 != #t~nondet8);havoc #t~nondet8; {13620#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~head.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)))) (exists ((v_arrayElimCell_71 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_71)))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)) (bvneg (bvneg v_arrayElimCell_71)))))))} is VALID [2021-09-14 00:05:03,179 INFO L281 TraceCheckUtils]: 40: Hoare triple {13620#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~head.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)))) (exists ((v_arrayElimCell_71 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_71)))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)) (bvneg (bvneg v_arrayElimCell_71)))))))} assume 0bv32 == ~pred~0.offset; {13620#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~head.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)))) (exists ((v_arrayElimCell_71 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_71)))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)) (bvneg (bvneg v_arrayElimCell_71)))))))} is VALID [2021-09-14 00:05:03,179 INFO L281 TraceCheckUtils]: 41: Hoare triple {13620#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~head.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)))) (exists ((v_arrayElimCell_71 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_71)))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)) (bvneg (bvneg v_arrayElimCell_71)))))))} assume ~bvult32(~pred~0.base, #StackHeapBarrier); {13620#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~head.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)))) (exists ((v_arrayElimCell_71 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_71)))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)) (bvneg (bvneg v_arrayElimCell_71)))))))} is VALID [2021-09-14 00:05:03,180 INFO L281 TraceCheckUtils]: 42: Hoare triple {13620#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~head.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)))) (exists ((v_arrayElimCell_71 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_71)))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)) (bvneg (bvneg v_arrayElimCell_71)))))))} assume !(0bv32 == ~pred~0.base || 1bv1 == #valid[~pred~0.base]); {13490#false} is VALID [2021-09-14 00:05:03,180 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 2 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-14 00:05:03,180 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-14 00:05:06,432 INFO L354 Elim1Store]: treesize reduction 5, result has 37.5 percent of original size [2021-09-14 00:05:06,433 INFO L388 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 19 treesize of output 18 [2021-09-14 00:05:06,476 INFO L281 TraceCheckUtils]: 42: Hoare triple {13633#(= (_ bv0 1) (bvadd (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)) (_ bv1 1)))} assume !(0bv32 == ~pred~0.base || 1bv1 == #valid[~pred~0.base]); {13490#false} is VALID [2021-09-14 00:05:06,477 INFO L281 TraceCheckUtils]: 41: Hoare triple {13633#(= (_ bv0 1) (bvadd (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)) (_ bv1 1)))} assume ~bvult32(~pred~0.base, #StackHeapBarrier); {13633#(= (_ bv0 1) (bvadd (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)) (_ bv1 1)))} is VALID [2021-09-14 00:05:06,477 INFO L281 TraceCheckUtils]: 40: Hoare triple {13633#(= (_ bv0 1) (bvadd (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)) (_ bv1 1)))} assume 0bv32 == ~pred~0.offset; {13633#(= (_ bv0 1) (bvadd (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)) (_ bv1 1)))} is VALID [2021-09-14 00:05:06,477 INFO L281 TraceCheckUtils]: 39: Hoare triple {13633#(= (_ bv0 1) (bvadd (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)) (_ bv1 1)))} assume !(0bv32 != #t~nondet8);havoc #t~nondet8; {13633#(= (_ bv0 1) (bvadd (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)) (_ bv1 1)))} is VALID [2021-09-14 00:05:06,478 INFO L281 TraceCheckUtils]: 38: Hoare triple {13646#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~head.base (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base))) (_ bv1 1)))} assume 0bv32 == ~head.base || 1bv1 == #valid[~head.base];call ULTIMATE.dealloc(~head.base, ~head.offset); {13633#(= (_ bv0 1) (bvadd (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)) (_ bv1 1)))} is VALID [2021-09-14 00:05:06,478 INFO L281 TraceCheckUtils]: 37: Hoare triple {13646#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~head.base (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base))) (_ bv1 1)))} assume ~bvult32(~head.base, #StackHeapBarrier); {13646#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~head.base (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base))) (_ bv1 1)))} is VALID [2021-09-14 00:05:06,478 INFO L281 TraceCheckUtils]: 36: Hoare triple {13646#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~head.base (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base))) (_ bv1 1)))} assume 0bv32 == ~head.offset; {13646#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~head.base (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base))) (_ bv1 1)))} is VALID [2021-09-14 00:05:06,479 INFO L281 TraceCheckUtils]: 35: Hoare triple {13646#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~head.base (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base))) (_ bv1 1)))} assume 0bv32 != #t~nondet7;havoc #t~nondet7; {13646#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~head.base (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base))) (_ bv1 1)))} is VALID [2021-09-14 00:05:06,479 INFO L281 TraceCheckUtils]: 34: Hoare triple {13646#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~head.base (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base))) (_ bv1 1)))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {13646#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~head.base (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base))) (_ bv1 1)))} is VALID [2021-09-14 00:05:06,479 INFO L281 TraceCheckUtils]: 33: Hoare triple {13646#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~head.base (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base))) (_ bv1 1)))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {13646#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~head.base (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base))) (_ bv1 1)))} is VALID [2021-09-14 00:05:06,480 INFO L281 TraceCheckUtils]: 32: Hoare triple {13665#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~head.base (_ bv0 1)) |_destroy_in_nondeterministic_order_#t~mem5.base|))))) (_ bv1 1)))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {13646#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~head.base (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base))) (_ bv1 1)))} is VALID [2021-09-14 00:05:06,480 INFO L281 TraceCheckUtils]: 31: Hoare triple {13669#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~head.base (_ bv0 1)) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset)))))))) (_ bv1 1)))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {13665#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~head.base (_ bv0 1)) |_destroy_in_nondeterministic_order_#t~mem5.base|))))) (_ bv1 1)))} is VALID [2021-09-14 00:05:06,481 INFO L281 TraceCheckUtils]: 30: Hoare triple {13673#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| |_destroy_in_nondeterministic_order_#in~head.base| (_ bv0 1)) (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (bvadd |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv4 32))))))))))) (_ bv1 1)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {13669#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~head.base (_ bv0 1)) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset)))))))) (_ bv1 1)))} is VALID [2021-09-14 00:05:06,481 INFO L264 TraceCheckUtils]: 29: Hoare triple {13677#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| main_~head~1.base (_ bv0 1)) (select (select |#memory_$Pointer$.base| main_~head~1.base) (bvadd (_ bv4 32) main_~head~1.offset))))))))))) (_ bv1 1)))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {13673#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| |_destroy_in_nondeterministic_order_#in~head.base| (_ bv0 1)) (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (bvadd |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv4 32))))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:05:06,482 INFO L281 TraceCheckUtils]: 28: Hoare triple {13681#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| |main_#t~ret12.base| (_ bv0 1)) (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (bvadd (_ bv4 32) |main_#t~ret12.offset|)))))))))))) (_ bv1 1)))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {13677#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| main_~head~1.base (_ bv0 1)) (select (select |#memory_$Pointer$.base| main_~head~1.base) (bvadd (_ bv4 32) main_~head~1.offset))))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:05:06,483 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {13688#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| |dll_circular_create_#res.base| (_ bv0 1)) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))))))))))))))) (_ bv1 1)))} {13489#true} #219#return; {13681#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| |main_#t~ret12.base| (_ bv0 1)) (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (bvadd (_ bv4 32) |main_#t~ret12.offset|)))))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:05:06,483 INFO L281 TraceCheckUtils]: 26: Hoare triple {13688#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| |dll_circular_create_#res.base| (_ bv0 1)) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))))))))))))))) (_ bv1 1)))} assume true; {13688#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| |dll_circular_create_#res.base| (_ bv0 1)) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))))))))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:05:06,483 INFO L281 TraceCheckUtils]: 25: Hoare triple {13695#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~head~0.base (_ bv0 1)) (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))))))))))))))) (_ bv1 1)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {13688#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| |dll_circular_create_#res.base| (_ bv0 1)) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))))))))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:05:06,485 INFO L281 TraceCheckUtils]: 24: Hoare triple {13699#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~head~0.base (_ bv0 1)) dll_circular_create_~last~0.base)))))))))))))))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {13695#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~head~0.base (_ bv0 1)) (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))))))))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:05:06,486 INFO L281 TraceCheckUtils]: 23: Hoare triple {13703#(or (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~head~0.base (_ bv0 1)) dll_circular_create_~last~0.base))))))))))))))))) (not (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {13699#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~head~0.base (_ bv0 1)) dll_circular_create_~last~0.base)))))))))))))))))} is VALID [2021-09-14 00:05:06,486 INFO L281 TraceCheckUtils]: 22: Hoare triple {13703#(or (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~head~0.base (_ bv0 1)) dll_circular_create_~last~0.base))))))))))))))))) (not (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))))} assume !~bvsgt32(~len, 1bv32); {13703#(or (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~head~0.base (_ bv0 1)) dll_circular_create_~last~0.base))))))))))))))))) (not (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))))} is VALID [2021-09-14 00:05:06,486 INFO L281 TraceCheckUtils]: 21: Hoare triple {13710#(or (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~new_head~0.base (_ bv0 1)) dll_circular_create_~last~0.base))))))))))))))))) (not (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {13703#(or (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~head~0.base (_ bv0 1)) dll_circular_create_~last~0.base))))))))))))))))) (not (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))))} is VALID [2021-09-14 00:05:06,487 INFO L281 TraceCheckUtils]: 20: Hoare triple {13710#(or (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~new_head~0.base (_ bv0 1)) dll_circular_create_~last~0.base))))))))))))))))) (not (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {13710#(or (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~new_head~0.base (_ bv0 1)) dll_circular_create_~last~0.base))))))))))))))))) (not (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))))} is VALID [2021-09-14 00:05:06,487 INFO L281 TraceCheckUtils]: 19: Hoare triple {13710#(or (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~new_head~0.base (_ bv0 1)) dll_circular_create_~last~0.base))))))))))))))))) (not (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {13710#(or (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~new_head~0.base (_ bv0 1)) dll_circular_create_~last~0.base))))))))))))))))) (not (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))))} is VALID [2021-09-14 00:05:06,487 INFO L281 TraceCheckUtils]: 18: Hoare triple {13710#(or (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~new_head~0.base (_ bv0 1)) dll_circular_create_~last~0.base))))))))))))))))) (not (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {13710#(or (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~new_head~0.base (_ bv0 1)) dll_circular_create_~last~0.base))))))))))))))))) (not (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))))} is VALID [2021-09-14 00:05:06,488 INFO L281 TraceCheckUtils]: 17: Hoare triple {13540#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {13710#(or (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~new_head~0.base (_ bv0 1)) dll_circular_create_~last~0.base))))))))))))))))) (not (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))))} is VALID [2021-09-14 00:05:06,489 INFO L281 TraceCheckUtils]: 16: Hoare triple {13540#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {13540#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} is VALID [2021-09-14 00:05:06,489 INFO L281 TraceCheckUtils]: 15: Hoare triple {13527#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {13540#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} is VALID [2021-09-14 00:05:06,490 INFO L281 TraceCheckUtils]: 14: Hoare triple {13527#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {13527#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} is VALID [2021-09-14 00:05:06,490 INFO L281 TraceCheckUtils]: 13: Hoare triple {13527#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {13527#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} is VALID [2021-09-14 00:05:06,491 INFO L281 TraceCheckUtils]: 12: Hoare triple {13527#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {13527#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} is VALID [2021-09-14 00:05:06,491 INFO L281 TraceCheckUtils]: 11: Hoare triple {13489#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {13527#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} is VALID [2021-09-14 00:05:06,491 INFO L281 TraceCheckUtils]: 10: Hoare triple {13489#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {13489#true} is VALID [2021-09-14 00:05:06,491 INFO L281 TraceCheckUtils]: 9: Hoare triple {13489#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {13489#true} is VALID [2021-09-14 00:05:06,491 INFO L281 TraceCheckUtils]: 8: Hoare triple {13489#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {13489#true} is VALID [2021-09-14 00:05:06,492 INFO L281 TraceCheckUtils]: 7: Hoare triple {13489#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {13489#true} is VALID [2021-09-14 00:05:06,492 INFO L264 TraceCheckUtils]: 6: Hoare triple {13489#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {13489#true} is VALID [2021-09-14 00:05:06,492 INFO L281 TraceCheckUtils]: 5: Hoare triple {13489#true} ~len~0 := 3bv32; {13489#true} is VALID [2021-09-14 00:05:06,492 INFO L264 TraceCheckUtils]: 4: Hoare triple {13489#true} call #t~ret13 := main(); {13489#true} is VALID [2021-09-14 00:05:06,492 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {13489#true} {13489#true} #223#return; {13489#true} is VALID [2021-09-14 00:05:06,492 INFO L281 TraceCheckUtils]: 2: Hoare triple {13489#true} assume true; {13489#true} is VALID [2021-09-14 00:05:06,492 INFO L281 TraceCheckUtils]: 1: Hoare triple {13489#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {13489#true} is VALID [2021-09-14 00:05:06,492 INFO L264 TraceCheckUtils]: 0: Hoare triple {13489#true} call ULTIMATE.init(); {13489#true} is VALID [2021-09-14 00:05:06,493 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-14 00:05:06,493 INFO L139 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2021-09-14 00:05:06,493 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1306885112] [2021-09-14 00:05:06,493 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1306885112] provided 0 perfect and 2 imperfect interpolant sequences [2021-09-14 00:05:06,493 INFO L186 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2021-09-14 00:05:06,493 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 15] total 26 [2021-09-14 00:05:06,493 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [217173082] [2021-09-14 00:05:06,495 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 24 states have (on average 2.5416666666666665) internal successors, (61), 23 states have internal predecessors, (61), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) Word has length 43 [2021-09-14 00:05:06,495 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-14 00:05:06,495 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 27 states, 24 states have (on average 2.5416666666666665) internal successors, (61), 23 states have internal predecessors, (61), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:05:06,566 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-14 00:05:06,566 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2021-09-14 00:05:06,566 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2021-09-14 00:05:06,566 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2021-09-14 00:05:06,567 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=632, Unknown=1, NotChecked=0, Total=702 [2021-09-14 00:05:06,567 INFO L87 Difference]: Start difference. First operand 127 states and 136 transitions. Second operand has 27 states, 24 states have (on average 2.5416666666666665) internal successors, (61), 23 states have internal predecessors, (61), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:05:15,783 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:05:15,784 INFO L93 Difference]: Finished difference Result 126 states and 135 transitions. [2021-09-14 00:05:15,784 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2021-09-14 00:05:15,784 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 24 states have (on average 2.5416666666666665) internal successors, (61), 23 states have internal predecessors, (61), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) Word has length 43 [2021-09-14 00:05:15,784 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-14 00:05:15,784 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 24 states have (on average 2.5416666666666665) internal successors, (61), 23 states have internal predecessors, (61), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:05:15,785 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 109 transitions. [2021-09-14 00:05:15,785 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 24 states have (on average 2.5416666666666665) internal successors, (61), 23 states have internal predecessors, (61), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:05:15,786 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 109 transitions. [2021-09-14 00:05:15,786 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 109 transitions. [2021-09-14 00:05:15,869 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-14 00:05:15,870 INFO L225 Difference]: With dead ends: 126 [2021-09-14 00:05:15,870 INFO L226 Difference]: Without dead ends: 126 [2021-09-14 00:05:15,871 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 59 SyntacticMatches, 2 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 177 ImplicationChecksByTransitivity, 7383.48ms TimeCoverageRelationStatistics Valid=153, Invalid=1178, Unknown=1, NotChecked=0, Total=1332 [2021-09-14 00:05:15,871 INFO L928 BasicCegarLoop]: 7 mSDtfsCounter, 102 mSDsluCounter, 835 mSDsCounter, 0 mSdLazyCounter, 1535 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2201.62ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 102 SdHoareTripleChecker+Valid, 91 SdHoareTripleChecker+Invalid, 1654 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 4.74ms SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 1535 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 102 IncrementalHoareTripleChecker+Unchecked, 2212.23ms IncrementalHoareTripleChecker+Time [2021-09-14 00:05:15,871 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [102 Valid, 91 Invalid, 1654 Unknown, 0 Unchecked, 4.74ms Time], IncrementalHoareTripleChecker [17 Valid, 1535 Invalid, 0 Unknown, 102 Unchecked, 2212.23ms Time] [2021-09-14 00:05:15,872 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 126 states. [2021-09-14 00:05:15,873 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 126 to 126. [2021-09-14 00:05:15,874 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-14 00:05:15,874 INFO L82 GeneralOperation]: Start isEquivalent. First operand 126 states. Second operand has 126 states, 99 states have (on average 1.2626262626262625) internal successors, (125), 116 states have internal predecessors, (125), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2021-09-14 00:05:15,874 INFO L74 IsIncluded]: Start isIncluded. First operand 126 states. Second operand has 126 states, 99 states have (on average 1.2626262626262625) internal successors, (125), 116 states have internal predecessors, (125), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2021-09-14 00:05:15,874 INFO L87 Difference]: Start difference. First operand 126 states. Second operand has 126 states, 99 states have (on average 1.2626262626262625) internal successors, (125), 116 states have internal predecessors, (125), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2021-09-14 00:05:15,876 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:05:15,876 INFO L93 Difference]: Finished difference Result 126 states and 135 transitions. [2021-09-14 00:05:15,876 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 135 transitions. [2021-09-14 00:05:15,876 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-14 00:05:15,876 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-14 00:05:15,876 INFO L74 IsIncluded]: Start isIncluded. First operand has 126 states, 99 states have (on average 1.2626262626262625) internal successors, (125), 116 states have internal predecessors, (125), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 126 states. [2021-09-14 00:05:15,877 INFO L87 Difference]: Start difference. First operand has 126 states, 99 states have (on average 1.2626262626262625) internal successors, (125), 116 states have internal predecessors, (125), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 126 states. [2021-09-14 00:05:15,878 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:05:15,878 INFO L93 Difference]: Finished difference Result 126 states and 135 transitions. [2021-09-14 00:05:15,878 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 135 transitions. [2021-09-14 00:05:15,878 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-14 00:05:15,879 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-14 00:05:15,879 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-14 00:05:15,879 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-14 00:05:15,879 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 126 states, 99 states have (on average 1.2626262626262625) internal successors, (125), 116 states have internal predecessors, (125), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2021-09-14 00:05:15,880 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 126 states to 126 states and 135 transitions. [2021-09-14 00:05:15,880 INFO L78 Accepts]: Start accepts. Automaton has 126 states and 135 transitions. Word has length 43 [2021-09-14 00:05:15,880 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-14 00:05:15,881 INFO L470 AbstractCegarLoop]: Abstraction has 126 states and 135 transitions. [2021-09-14 00:05:15,881 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 27 states, 24 states have (on average 2.5416666666666665) internal successors, (61), 23 states have internal predecessors, (61), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:05:15,881 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 135 transitions. [2021-09-14 00:05:15,881 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2021-09-14 00:05:15,881 INFO L505 BasicCegarLoop]: Found error trace [2021-09-14 00:05:15,881 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-14 00:05:15,891 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (21)] Forceful destruction successful, exit code 0 [2021-09-14 00:05:16,089 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-09-14 00:05:16,089 INFO L402 AbstractCegarLoop]: === Iteration 21 === Targeting _destroy_in_nondeterministic_orderErr9ASSERT_VIOLATIONMEMORY_FREE === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-14 00:05:16,089 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-14 00:05:16,090 INFO L82 PathProgramCache]: Analyzing trace with hash -1008631589, now seen corresponding path program 1 times [2021-09-14 00:05:16,090 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-09-14 00:05:16,090 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [2079516006] [2021-09-14 00:05:16,090 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-14 00:05:16,090 INFO L170 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-09-14 00:05:16,090 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-09-14 00:05:16,091 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2021-09-14 00:05:16,093 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (22)] Waiting until timeout for monitored process [2021-09-14 00:05:16,212 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-14 00:05:16,217 INFO L263 TraceCheckSpWp]: Trace formula consists of 157 conjuncts, 30 conjunts are in the unsatisfiable core [2021-09-14 00:05:16,229 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-14 00:05:16,230 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-14 00:05:16,267 INFO L388 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 [2021-09-14 00:05:16,368 INFO L354 Elim1Store]: treesize reduction 38, result has 39.7 percent of original size [2021-09-14 00:05:16,368 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 5 case distinctions, treesize of input 29 treesize of output 46 [2021-09-14 00:05:16,477 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2021-09-14 00:05:18,594 INFO L354 Elim1Store]: treesize reduction 29, result has 19.4 percent of original size [2021-09-14 00:05:18,594 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 62 treesize of output 48 [2021-09-14 00:05:20,338 INFO L354 Elim1Store]: treesize reduction 45, result has 16.7 percent of original size [2021-09-14 00:05:20,339 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 45 treesize of output 42 [2021-09-14 00:05:20,503 INFO L190 IndexEqualityManager]: detected not equals via solver [2021-09-14 00:05:20,551 INFO L354 Elim1Store]: treesize reduction 102, result has 14.3 percent of original size [2021-09-14 00:05:20,551 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 5 case distinctions, treesize of input 68 treesize of output 68 [2021-09-14 00:05:23,843 INFO L354 Elim1Store]: treesize reduction 66, result has 1.5 percent of original size [2021-09-14 00:05:23,844 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 1 disjoint index pairs (out of 6 index pairs), introduced 6 new quantified variables, introduced 5 case distinctions, treesize of input 82 treesize of output 50 [2021-09-14 00:05:24,220 INFO L354 Elim1Store]: treesize reduction 20, result has 28.6 percent of original size [2021-09-14 00:05:24,220 INFO L388 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 41 treesize of output 44 [2021-09-14 00:05:24,514 INFO L264 TraceCheckUtils]: 0: Hoare triple {14298#true} call ULTIMATE.init(); {14298#true} is VALID [2021-09-14 00:05:24,514 INFO L281 TraceCheckUtils]: 1: Hoare triple {14298#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {14298#true} is VALID [2021-09-14 00:05:24,514 INFO L281 TraceCheckUtils]: 2: Hoare triple {14298#true} assume true; {14298#true} is VALID [2021-09-14 00:05:24,514 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {14298#true} {14298#true} #223#return; {14298#true} is VALID [2021-09-14 00:05:24,514 INFO L264 TraceCheckUtils]: 4: Hoare triple {14298#true} call #t~ret13 := main(); {14298#true} is VALID [2021-09-14 00:05:24,514 INFO L281 TraceCheckUtils]: 5: Hoare triple {14298#true} ~len~0 := 3bv32; {14298#true} is VALID [2021-09-14 00:05:24,515 INFO L264 TraceCheckUtils]: 6: Hoare triple {14298#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {14298#true} is VALID [2021-09-14 00:05:24,515 INFO L281 TraceCheckUtils]: 7: Hoare triple {14298#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {14298#true} is VALID [2021-09-14 00:05:24,515 INFO L281 TraceCheckUtils]: 8: Hoare triple {14298#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {14298#true} is VALID [2021-09-14 00:05:24,515 INFO L281 TraceCheckUtils]: 9: Hoare triple {14298#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {14298#true} is VALID [2021-09-14 00:05:24,515 INFO L281 TraceCheckUtils]: 10: Hoare triple {14298#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {14298#true} is VALID [2021-09-14 00:05:24,515 INFO L281 TraceCheckUtils]: 11: Hoare triple {14298#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {14336#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} is VALID [2021-09-14 00:05:24,517 INFO L281 TraceCheckUtils]: 12: Hoare triple {14336#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {14340#(and (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-14 00:05:24,517 INFO L281 TraceCheckUtils]: 13: Hoare triple {14340#(and (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {14340#(and (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-14 00:05:24,517 INFO L281 TraceCheckUtils]: 14: Hoare triple {14340#(and (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {14340#(and (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-14 00:05:24,518 INFO L281 TraceCheckUtils]: 15: Hoare triple {14340#(and (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {14350#(and (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-14 00:05:24,518 INFO L281 TraceCheckUtils]: 16: Hoare triple {14350#(and (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {14354#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} is VALID [2021-09-14 00:05:24,523 INFO L281 TraceCheckUtils]: 17: Hoare triple {14354#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {14358#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))) (_ bv1 1))) (exists ((v_arrayElimCell_77 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg v_arrayElimCell_77))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_77) (select |#valid| dll_circular_create_~head~0.base))))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:05:24,523 INFO L281 TraceCheckUtils]: 18: Hoare triple {14358#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))) (_ bv1 1))) (exists ((v_arrayElimCell_77 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg v_arrayElimCell_77))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_77) (select |#valid| dll_circular_create_~head~0.base))))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {14358#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))) (_ bv1 1))) (exists ((v_arrayElimCell_77 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg v_arrayElimCell_77))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_77) (select |#valid| dll_circular_create_~head~0.base))))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:05:24,525 INFO L281 TraceCheckUtils]: 19: Hoare triple {14358#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))) (_ bv1 1))) (exists ((v_arrayElimCell_77 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg v_arrayElimCell_77))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_77) (select |#valid| dll_circular_create_~head~0.base))))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {14365#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))) (_ bv1 1))) (exists ((v_arrayElimCell_77 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg v_arrayElimCell_77))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_77) (select |#valid| dll_circular_create_~head~0.base))))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} is VALID [2021-09-14 00:05:24,527 INFO L281 TraceCheckUtils]: 20: Hoare triple {14365#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))) (_ bv1 1))) (exists ((v_arrayElimCell_77 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg v_arrayElimCell_77))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_77) (select |#valid| dll_circular_create_~head~0.base))))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {14369#(and (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (exists ((dll_circular_create_~head~0.offset (_ BitVec 32))) (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)))))} is VALID [2021-09-14 00:05:24,528 INFO L281 TraceCheckUtils]: 21: Hoare triple {14369#(and (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (exists ((dll_circular_create_~head~0.offset (_ BitVec 32))) (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {14373#(and (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.offset_100 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_100)) dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} is VALID [2021-09-14 00:05:24,529 INFO L281 TraceCheckUtils]: 22: Hoare triple {14373#(and (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.offset_100 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_100)) dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} assume !~bvsgt32(~len, 1bv32); {14373#(and (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.offset_100 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_100)) dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} is VALID [2021-09-14 00:05:24,534 INFO L281 TraceCheckUtils]: 23: Hoare triple {14373#(and (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.offset_100 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_100)) dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {14380#(and (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.offset_100 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_100)) dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} is VALID [2021-09-14 00:05:24,540 INFO L281 TraceCheckUtils]: 24: Hoare triple {14380#(and (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.offset_100 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_100)) dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {14384#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)))) (_ bv1 1))) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))) dll_circular_create_~last~0.offset) dll_circular_create_~head~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.offset_100 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_100)) dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} is VALID [2021-09-14 00:05:24,542 INFO L281 TraceCheckUtils]: 25: Hoare triple {14384#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)))) (_ bv1 1))) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))) dll_circular_create_~last~0.offset) dll_circular_create_~head~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.offset_100 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_100)) dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {14388#(and (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))))) (_ bv1 1))) (= |dll_circular_create_#res.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |dll_circular_create_#res.base|)) (exists ((v_dll_circular_create_~head~0.offset_100 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_100)) |dll_circular_create_#res.base|)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| |dll_circular_create_#res.base|)))) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)))))) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |dll_circular_create_#res.base|)))} is VALID [2021-09-14 00:05:24,542 INFO L281 TraceCheckUtils]: 26: Hoare triple {14388#(and (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))))) (_ bv1 1))) (= |dll_circular_create_#res.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |dll_circular_create_#res.base|)) (exists ((v_dll_circular_create_~head~0.offset_100 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_100)) |dll_circular_create_#res.base|)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| |dll_circular_create_#res.base|)))) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)))))) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |dll_circular_create_#res.base|)))} assume true; {14388#(and (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))))) (_ bv1 1))) (= |dll_circular_create_#res.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |dll_circular_create_#res.base|)) (exists ((v_dll_circular_create_~head~0.offset_100 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_100)) |dll_circular_create_#res.base|)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| |dll_circular_create_#res.base|)))) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)))))) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |dll_circular_create_#res.base|)))} is VALID [2021-09-14 00:05:24,545 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {14388#(and (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))))) (_ bv1 1))) (= |dll_circular_create_#res.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |dll_circular_create_#res.base|)) (exists ((v_dll_circular_create_~head~0.offset_100 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_100)) |dll_circular_create_#res.base|)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| |dll_circular_create_#res.base|)))) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)))))) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |dll_circular_create_#res.base|)))} {14298#true} #219#return; {14395#(and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv0 32)))))))))))) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32))) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_100 (_ BitVec 32))) (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_100)))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32)))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv0 32)) |main_#t~ret12.base|)) (= |main_#t~ret12.offset| (_ bv0 32)) (not (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32)))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |main_#t~ret12.base|)))))) (_ bv1 1))))} is VALID [2021-09-14 00:05:24,547 INFO L281 TraceCheckUtils]: 28: Hoare triple {14395#(and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv0 32)))))))))))) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32))) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_100 (_ BitVec 32))) (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_100)))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32)))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv0 32)) |main_#t~ret12.base|)) (= |main_#t~ret12.offset| (_ bv0 32)) (not (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32)))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |main_#t~ret12.base|)))))) (_ bv1 1))))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {14399#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32))))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| main_~head~1.base))))))) (_ bv1 1))) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32)))) (= main_~head~1.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32))) dll_circular_create_~last~0.offset) main_~head~1.base)) (exists ((v_dll_circular_create_~head~0.offset_100 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_100)) main_~head~1.base)) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32)) main_~head~1.base)))} is VALID [2021-09-14 00:05:24,548 INFO L264 TraceCheckUtils]: 29: Hoare triple {14399#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32))))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| main_~head~1.base))))))) (_ bv1 1))) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32)))) (= main_~head~1.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32))) dll_circular_create_~last~0.offset) main_~head~1.base)) (exists ((v_dll_circular_create_~head~0.offset_100 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_100)) main_~head~1.base)) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32)) main_~head~1.base)))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {14403#(and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32))))))))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32))))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |_destroy_in_nondeterministic_order_#in~head.base|)))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32)) |_destroy_in_nondeterministic_order_#in~head.base|)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32))) dll_circular_create_~last~0.offset) |_destroy_in_nondeterministic_order_#in~head.base|)) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32)) |_destroy_in_nondeterministic_order_#in~head.base|)) (exists ((v_dll_circular_create_~head~0.offset_100 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_100)) |_destroy_in_nondeterministic_order_#in~head.base|)) (= |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv0 32)))} is VALID [2021-09-14 00:05:24,549 INFO L281 TraceCheckUtils]: 30: Hoare triple {14403#(and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32))))))))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32))))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |_destroy_in_nondeterministic_order_#in~head.base|)))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32)) |_destroy_in_nondeterministic_order_#in~head.base|)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32))) dll_circular_create_~last~0.offset) |_destroy_in_nondeterministic_order_#in~head.base|)) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32)) |_destroy_in_nondeterministic_order_#in~head.base|)) (exists ((v_dll_circular_create_~head~0.offset_100 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_100)) |_destroy_in_nondeterministic_order_#in~head.base|)) (= |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv0 32)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {14407#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))))))))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_100 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_100)) _destroy_in_nondeterministic_order_~head.base)))} is VALID [2021-09-14 00:05:24,550 INFO L281 TraceCheckUtils]: 31: Hoare triple {14407#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))))))))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_100 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_100)) _destroy_in_nondeterministic_order_~head.base)))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {14407#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))))))))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_100 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_100)) _destroy_in_nondeterministic_order_~head.base)))} is VALID [2021-09-14 00:05:24,551 INFO L281 TraceCheckUtils]: 32: Hoare triple {14407#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))))))))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_100 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_100)) _destroy_in_nondeterministic_order_~head.base)))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {14407#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))))))))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_100 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_100)) _destroy_in_nondeterministic_order_~head.base)))} is VALID [2021-09-14 00:05:24,552 INFO L281 TraceCheckUtils]: 33: Hoare triple {14407#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))))))))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_100 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_100)) _destroy_in_nondeterministic_order_~head.base)))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {14417#(and (not (= |_destroy_in_nondeterministic_order_#t~mem6.base| _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |_destroy_in_nondeterministic_order_#t~mem6.base|))))))))) (_ bv1 1))))} is VALID [2021-09-14 00:05:24,552 INFO L281 TraceCheckUtils]: 34: Hoare triple {14417#(and (not (= |_destroy_in_nondeterministic_order_#t~mem6.base| _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |_destroy_in_nondeterministic_order_#t~mem6.base|))))))))) (_ bv1 1))))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {14421#(and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))} is VALID [2021-09-14 00:05:24,553 INFO L281 TraceCheckUtils]: 35: Hoare triple {14421#(and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))} assume 0bv32 != #t~nondet7;havoc #t~nondet7; {14421#(and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))} is VALID [2021-09-14 00:05:24,553 INFO L281 TraceCheckUtils]: 36: Hoare triple {14421#(and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))} assume 0bv32 == ~head.offset; {14421#(and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))} is VALID [2021-09-14 00:05:24,553 INFO L281 TraceCheckUtils]: 37: Hoare triple {14421#(and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))} assume ~bvult32(~head.base, #StackHeapBarrier); {14421#(and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))} is VALID [2021-09-14 00:05:24,556 INFO L281 TraceCheckUtils]: 38: Hoare triple {14421#(and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))} assume 0bv32 == ~head.base || 1bv1 == #valid[~head.base];call ULTIMATE.dealloc(~head.base, ~head.offset); {14434#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~head.base)))) (exists ((v_arrayElimCell_88 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_88)))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_88)))) (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)))))))))} is VALID [2021-09-14 00:05:24,557 INFO L281 TraceCheckUtils]: 39: Hoare triple {14434#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~head.base)))) (exists ((v_arrayElimCell_88 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_88)))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_88)))) (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)))))))))} assume 0bv32 != #t~nondet8;havoc #t~nondet8; {14434#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~head.base)))) (exists ((v_arrayElimCell_88 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_88)))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_88)))) (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)))))))))} is VALID [2021-09-14 00:05:24,557 INFO L281 TraceCheckUtils]: 40: Hoare triple {14434#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~head.base)))) (exists ((v_arrayElimCell_88 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_88)))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_88)))) (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)))))))))} assume 0bv32 == ~succ~0.offset; {14434#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~head.base)))) (exists ((v_arrayElimCell_88 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_88)))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_88)))) (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)))))))))} is VALID [2021-09-14 00:05:24,558 INFO L281 TraceCheckUtils]: 41: Hoare triple {14434#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~head.base)))) (exists ((v_arrayElimCell_88 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_88)))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_88)))) (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)))))))))} assume ~bvult32(~succ~0.base, #StackHeapBarrier); {14434#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~head.base)))) (exists ((v_arrayElimCell_88 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_88)))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_88)))) (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)))))))))} is VALID [2021-09-14 00:05:24,558 INFO L281 TraceCheckUtils]: 42: Hoare triple {14434#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~head.base)))) (exists ((v_arrayElimCell_88 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_88)))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_88)))) (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)))))))))} assume !(0bv32 == ~succ~0.base || 1bv1 == #valid[~succ~0.base]); {14299#false} is VALID [2021-09-14 00:05:24,559 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 2 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-14 00:05:24,559 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-14 00:05:28,309 WARN L870 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2021-09-14 00:05:30,683 WARN L838 $PredicateComparison]: unable to prove that (forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |c_#valid| c_dll_circular_create_~head~0.base (_ bv0 1)) (select (select (store |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~head~0.base)) c_dll_circular_create_~head~0.base) c_dll_circular_create_~head~0.offset)))))))))))))))))) (_ bv1 1)))) is different from false [2021-09-14 00:05:32,725 WARN L838 $PredicateComparison]: unable to prove that (forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |c_#valid| c_dll_circular_create_~new_head~0.base (_ bv0 1)) (select (select (store |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.base)) c_dll_circular_create_~new_head~0.base) c_dll_circular_create_~new_head~0.offset))))))))))))))))))))) (_ bv1 1)))) is different from false [2021-09-14 00:05:37,358 INFO L354 Elim1Store]: treesize reduction 5, result has 37.5 percent of original size [2021-09-14 00:05:37,358 INFO L388 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 37 treesize of output 36 [2021-09-14 00:05:37,417 INFO L281 TraceCheckUtils]: 42: Hoare triple {14447#(= (_ bv0 1) (bvadd (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)) (_ bv1 1)))} assume !(0bv32 == ~succ~0.base || 1bv1 == #valid[~succ~0.base]); {14299#false} is VALID [2021-09-14 00:05:37,417 INFO L281 TraceCheckUtils]: 41: Hoare triple {14447#(= (_ bv0 1) (bvadd (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)) (_ bv1 1)))} assume ~bvult32(~succ~0.base, #StackHeapBarrier); {14447#(= (_ bv0 1) (bvadd (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)) (_ bv1 1)))} is VALID [2021-09-14 00:05:37,417 INFO L281 TraceCheckUtils]: 40: Hoare triple {14447#(= (_ bv0 1) (bvadd (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)) (_ bv1 1)))} assume 0bv32 == ~succ~0.offset; {14447#(= (_ bv0 1) (bvadd (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)) (_ bv1 1)))} is VALID [2021-09-14 00:05:37,418 INFO L281 TraceCheckUtils]: 39: Hoare triple {14447#(= (_ bv0 1) (bvadd (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)) (_ bv1 1)))} assume 0bv32 != #t~nondet8;havoc #t~nondet8; {14447#(= (_ bv0 1) (bvadd (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)) (_ bv1 1)))} is VALID [2021-09-14 00:05:37,418 INFO L281 TraceCheckUtils]: 38: Hoare triple {14460#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~head.base (_ bv0 1)) _destroy_in_nondeterministic_order_~succ~0.base))) (_ bv1 1)))} assume 0bv32 == ~head.base || 1bv1 == #valid[~head.base];call ULTIMATE.dealloc(~head.base, ~head.offset); {14447#(= (_ bv0 1) (bvadd (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)) (_ bv1 1)))} is VALID [2021-09-14 00:05:37,418 INFO L281 TraceCheckUtils]: 37: Hoare triple {14460#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~head.base (_ bv0 1)) _destroy_in_nondeterministic_order_~succ~0.base))) (_ bv1 1)))} assume ~bvult32(~head.base, #StackHeapBarrier); {14460#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~head.base (_ bv0 1)) _destroy_in_nondeterministic_order_~succ~0.base))) (_ bv1 1)))} is VALID [2021-09-14 00:05:37,418 INFO L281 TraceCheckUtils]: 36: Hoare triple {14460#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~head.base (_ bv0 1)) _destroy_in_nondeterministic_order_~succ~0.base))) (_ bv1 1)))} assume 0bv32 == ~head.offset; {14460#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~head.base (_ bv0 1)) _destroy_in_nondeterministic_order_~succ~0.base))) (_ bv1 1)))} is VALID [2021-09-14 00:05:37,419 INFO L281 TraceCheckUtils]: 35: Hoare triple {14460#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~head.base (_ bv0 1)) _destroy_in_nondeterministic_order_~succ~0.base))) (_ bv1 1)))} assume 0bv32 != #t~nondet7;havoc #t~nondet7; {14460#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~head.base (_ bv0 1)) _destroy_in_nondeterministic_order_~succ~0.base))) (_ bv1 1)))} is VALID [2021-09-14 00:05:37,419 INFO L281 TraceCheckUtils]: 34: Hoare triple {14473#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~head.base (_ bv0 1)) |_destroy_in_nondeterministic_order_#t~mem6.base|)))))) (_ bv1 1)))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {14460#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~head.base (_ bv0 1)) _destroy_in_nondeterministic_order_~succ~0.base))) (_ bv1 1)))} is VALID [2021-09-14 00:05:37,420 INFO L281 TraceCheckUtils]: 33: Hoare triple {14477#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~head.base (_ bv0 1)) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))))))))) (_ bv1 1)))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {14473#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~head.base (_ bv0 1)) |_destroy_in_nondeterministic_order_#t~mem6.base|)))))) (_ bv1 1)))} is VALID [2021-09-14 00:05:37,420 INFO L281 TraceCheckUtils]: 32: Hoare triple {14477#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~head.base (_ bv0 1)) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))))))))) (_ bv1 1)))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {14477#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~head.base (_ bv0 1)) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:05:37,420 INFO L281 TraceCheckUtils]: 31: Hoare triple {14477#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~head.base (_ bv0 1)) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))))))))) (_ bv1 1)))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {14477#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~head.base (_ bv0 1)) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:05:37,421 INFO L281 TraceCheckUtils]: 30: Hoare triple {14487#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| |_destroy_in_nondeterministic_order_#in~head.base| (_ bv0 1)) (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|))))))))))))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {14477#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~head.base (_ bv0 1)) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:05:37,421 INFO L264 TraceCheckUtils]: 29: Hoare triple {14491#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| main_~head~1.base (_ bv0 1)) (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset))))))))))) (_ bv1 1)))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {14487#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| |_destroy_in_nondeterministic_order_#in~head.base| (_ bv0 1)) (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|))))))))))))} is VALID [2021-09-14 00:05:37,422 INFO L281 TraceCheckUtils]: 28: Hoare triple {14495#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| |main_#t~ret12.base| (_ bv0 1)) (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|))))))))))))) (_ bv1 1)))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {14491#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| main_~head~1.base (_ bv0 1)) (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset))))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:05:37,423 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {14502#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| |dll_circular_create_#res.base| (_ bv0 1)) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)))))))))))))) (_ bv1 1)))} {14298#true} #219#return; {14495#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| |main_#t~ret12.base| (_ bv0 1)) (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|))))))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:05:37,423 INFO L281 TraceCheckUtils]: 26: Hoare triple {14502#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| |dll_circular_create_#res.base| (_ bv0 1)) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)))))))))))))) (_ bv1 1)))} assume true; {14502#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| |dll_circular_create_#res.base| (_ bv0 1)) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)))))))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:05:37,423 INFO L281 TraceCheckUtils]: 25: Hoare triple {14509#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~head~0.base (_ bv0 1)) (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)))))))))))))))) (_ bv1 1)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {14502#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| |dll_circular_create_#res.base| (_ bv0 1)) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)))))))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:05:37,425 INFO L281 TraceCheckUtils]: 24: Hoare triple {14509#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~head~0.base (_ bv0 1)) (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)))))))))))))))) (_ bv1 1)))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {14509#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~head~0.base (_ bv0 1)) (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)))))))))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:05:37,426 INFO L281 TraceCheckUtils]: 23: Hoare triple {14516#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~head~0.base (_ bv0 1)) (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)))))))))))))))))) (_ bv1 1))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {14509#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~head~0.base (_ bv0 1)) (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)))))))))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:05:37,427 INFO L281 TraceCheckUtils]: 22: Hoare triple {14516#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~head~0.base (_ bv0 1)) (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)))))))))))))))))) (_ bv1 1))))} assume !~bvsgt32(~len, 1bv32); {14516#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~head~0.base (_ bv0 1)) (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)))))))))))))))))) (_ bv1 1))))} is VALID [2021-09-14 00:05:37,427 INFO L281 TraceCheckUtils]: 21: Hoare triple {14523#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~new_head~0.base (_ bv0 1)) (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))))))))))))))))))))) (_ bv1 1))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {14516#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~head~0.base (_ bv0 1)) (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~head~0.base)) dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)))))))))))))))))) (_ bv1 1))))} is VALID [2021-09-14 00:05:37,429 INFO L281 TraceCheckUtils]: 20: Hoare triple {14527#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (forall ((dll_circular_create_~last~0.offset (_ BitVec 32)) (dll_circular_create_~head~0.offset (_ BitVec 32))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~new_head~0.base (_ bv0 1)) (select (select (store (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) dll_circular_create_~new_head~0.base)) dll_circular_create_~last~0.base (store (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) dll_circular_create_~new_head~0.base)) dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))))))))))))))))))))) (_ bv1 1)))))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {14523#(forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~new_head~0.base (_ bv0 1)) (select (select (store |#memory_$Pointer$.base| dll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))))))))))))))))))))) (_ bv1 1))))} is VALID [2021-09-14 00:05:37,432 INFO L281 TraceCheckUtils]: 19: Hoare triple {14531#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~new_head~0.base (_ bv0 1)) dll_circular_create_~head~0.base))))))))))))))))))))))) (_ bv1 1)))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {14527#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (forall ((dll_circular_create_~last~0.offset (_ BitVec 32)) (dll_circular_create_~head~0.offset (_ BitVec 32))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~new_head~0.base (_ bv0 1)) (select (select (store (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) dll_circular_create_~new_head~0.base)) dll_circular_create_~last~0.base (store (select (store |#memory_$Pointer$.base| dll_circular_create_~head~0.base (store (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) dll_circular_create_~new_head~0.base)) dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset dll_circular_create_~new_head~0.base)) dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))))))))))))))))))))) (_ bv1 1)))))} is VALID [2021-09-14 00:05:37,432 INFO L281 TraceCheckUtils]: 18: Hoare triple {14531#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~new_head~0.base (_ bv0 1)) dll_circular_create_~head~0.base))))))))))))))))))))))) (_ bv1 1)))))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {14531#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~new_head~0.base (_ bv0 1)) dll_circular_create_~head~0.base))))))))))))))))))))))) (_ bv1 1)))))} is VALID [2021-09-14 00:05:37,433 INFO L281 TraceCheckUtils]: 17: Hoare triple {14354#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {14531#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~new_head~0.base (_ bv0 1)) dll_circular_create_~head~0.base))))))))))))))))))))))) (_ bv1 1)))))} is VALID [2021-09-14 00:05:37,433 INFO L281 TraceCheckUtils]: 16: Hoare triple {14350#(and (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {14354#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} is VALID [2021-09-14 00:05:37,434 INFO L281 TraceCheckUtils]: 15: Hoare triple {14544#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (and (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {14350#(and (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-14 00:05:37,434 INFO L281 TraceCheckUtils]: 14: Hoare triple {14544#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (and (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {14544#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (and (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))))} is VALID [2021-09-14 00:05:37,435 INFO L281 TraceCheckUtils]: 13: Hoare triple {14544#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (and (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {14544#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (and (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))))} is VALID [2021-09-14 00:05:37,435 INFO L281 TraceCheckUtils]: 12: Hoare triple {14336#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {14544#(or (not (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1)))) (and (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base)))))} is VALID [2021-09-14 00:05:37,436 INFO L281 TraceCheckUtils]: 11: Hoare triple {14298#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {14336#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} is VALID [2021-09-14 00:05:37,436 INFO L281 TraceCheckUtils]: 10: Hoare triple {14298#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {14298#true} is VALID [2021-09-14 00:05:37,436 INFO L281 TraceCheckUtils]: 9: Hoare triple {14298#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {14298#true} is VALID [2021-09-14 00:05:37,436 INFO L281 TraceCheckUtils]: 8: Hoare triple {14298#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {14298#true} is VALID [2021-09-14 00:05:37,436 INFO L281 TraceCheckUtils]: 7: Hoare triple {14298#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {14298#true} is VALID [2021-09-14 00:05:37,436 INFO L264 TraceCheckUtils]: 6: Hoare triple {14298#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {14298#true} is VALID [2021-09-14 00:05:37,436 INFO L281 TraceCheckUtils]: 5: Hoare triple {14298#true} ~len~0 := 3bv32; {14298#true} is VALID [2021-09-14 00:05:37,436 INFO L264 TraceCheckUtils]: 4: Hoare triple {14298#true} call #t~ret13 := main(); {14298#true} is VALID [2021-09-14 00:05:37,436 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {14298#true} {14298#true} #223#return; {14298#true} is VALID [2021-09-14 00:05:37,436 INFO L281 TraceCheckUtils]: 2: Hoare triple {14298#true} assume true; {14298#true} is VALID [2021-09-14 00:05:37,436 INFO L281 TraceCheckUtils]: 1: Hoare triple {14298#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {14298#true} is VALID [2021-09-14 00:05:37,436 INFO L264 TraceCheckUtils]: 0: Hoare triple {14298#true} call ULTIMATE.init(); {14298#true} is VALID [2021-09-14 00:05:37,437 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 3 not checked. [2021-09-14 00:05:37,437 INFO L139 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2021-09-14 00:05:37,437 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [2079516006] [2021-09-14 00:05:37,437 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleMathsat [2079516006] provided 0 perfect and 2 imperfect interpolant sequences [2021-09-14 00:05:37,437 INFO L186 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2021-09-14 00:05:37,437 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 18] total 33 [2021-09-14 00:05:37,437 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [907655422] [2021-09-14 00:05:37,438 INFO L78 Accepts]: Start accepts. Automaton has has 34 states, 31 states have (on average 2.096774193548387) internal successors, (65), 30 states have internal predecessors, (65), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) Word has length 43 [2021-09-14 00:05:37,438 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-14 00:05:37,438 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 34 states, 31 states have (on average 2.096774193548387) internal successors, (65), 30 states have internal predecessors, (65), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:05:37,549 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-14 00:05:37,549 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 34 states [2021-09-14 00:05:37,549 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2021-09-14 00:05:37,549 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2021-09-14 00:05:37,549 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=900, Unknown=4, NotChecked=122, Total=1122 [2021-09-14 00:05:37,550 INFO L87 Difference]: Start difference. First operand 126 states and 135 transitions. Second operand has 34 states, 31 states have (on average 2.096774193548387) internal successors, (65), 30 states have internal predecessors, (65), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:05:49,502 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:05:49,502 INFO L93 Difference]: Finished difference Result 124 states and 133 transitions. [2021-09-14 00:05:49,502 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2021-09-14 00:05:49,502 INFO L78 Accepts]: Start accepts. Automaton has has 34 states, 31 states have (on average 2.096774193548387) internal successors, (65), 30 states have internal predecessors, (65), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) Word has length 43 [2021-09-14 00:05:49,502 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-14 00:05:49,502 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 31 states have (on average 2.096774193548387) internal successors, (65), 30 states have internal predecessors, (65), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:05:49,503 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 109 transitions. [2021-09-14 00:05:49,503 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 31 states have (on average 2.096774193548387) internal successors, (65), 30 states have internal predecessors, (65), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:05:49,504 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 109 transitions. [2021-09-14 00:05:49,504 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 109 transitions. [2021-09-14 00:05:49,658 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-14 00:05:49,659 INFO L225 Difference]: With dead ends: 124 [2021-09-14 00:05:49,659 INFO L226 Difference]: Without dead ends: 124 [2021-09-14 00:05:49,659 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 91 GetRequests, 51 SyntacticMatches, 4 SemanticMatches, 36 ConstructedPredicates, 2 IntricatePredicates, 1 DeprecatedPredicates, 280 ImplicationChecksByTransitivity, 22781.75ms TimeCoverageRelationStatistics Valid=123, Invalid=1140, Unknown=5, NotChecked=138, Total=1406 [2021-09-14 00:05:49,660 INFO L928 BasicCegarLoop]: 7 mSDtfsCounter, 15 mSDsluCounter, 969 mSDsCounter, 0 mSdLazyCounter, 1084 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1644.42ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 99 SdHoareTripleChecker+Invalid, 1718 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 5.75ms SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 1084 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 627 IncrementalHoareTripleChecker+Unchecked, 1653.58ms IncrementalHoareTripleChecker+Time [2021-09-14 00:05:49,660 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 99 Invalid, 1718 Unknown, 0 Unchecked, 5.75ms Time], IncrementalHoareTripleChecker [7 Valid, 1084 Invalid, 0 Unknown, 627 Unchecked, 1653.58ms Time] [2021-09-14 00:05:49,661 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124 states. [2021-09-14 00:05:49,662 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124 to 102. [2021-09-14 00:05:49,662 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-14 00:05:49,662 INFO L82 GeneralOperation]: Start isEquivalent. First operand 124 states. Second operand has 102 states, 79 states have (on average 1.2658227848101267) internal successors, (100), 94 states have internal predecessors, (100), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:05:49,662 INFO L74 IsIncluded]: Start isIncluded. First operand 124 states. Second operand has 102 states, 79 states have (on average 1.2658227848101267) internal successors, (100), 94 states have internal predecessors, (100), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:05:49,662 INFO L87 Difference]: Start difference. First operand 124 states. Second operand has 102 states, 79 states have (on average 1.2658227848101267) internal successors, (100), 94 states have internal predecessors, (100), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:05:49,664 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:05:49,664 INFO L93 Difference]: Finished difference Result 124 states and 133 transitions. [2021-09-14 00:05:49,664 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 133 transitions. [2021-09-14 00:05:49,664 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-14 00:05:49,664 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-14 00:05:49,664 INFO L74 IsIncluded]: Start isIncluded. First operand has 102 states, 79 states have (on average 1.2658227848101267) internal successors, (100), 94 states have internal predecessors, (100), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 124 states. [2021-09-14 00:05:49,664 INFO L87 Difference]: Start difference. First operand has 102 states, 79 states have (on average 1.2658227848101267) internal successors, (100), 94 states have internal predecessors, (100), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 124 states. [2021-09-14 00:05:49,666 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:05:49,666 INFO L93 Difference]: Finished difference Result 124 states and 133 transitions. [2021-09-14 00:05:49,666 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 133 transitions. [2021-09-14 00:05:49,666 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-14 00:05:49,666 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-14 00:05:49,666 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-14 00:05:49,666 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-14 00:05:49,666 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 102 states, 79 states have (on average 1.2658227848101267) internal successors, (100), 94 states have internal predecessors, (100), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:05:49,667 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 107 transitions. [2021-09-14 00:05:49,667 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 107 transitions. Word has length 43 [2021-09-14 00:05:49,667 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-14 00:05:49,667 INFO L470 AbstractCegarLoop]: Abstraction has 102 states and 107 transitions. [2021-09-14 00:05:49,667 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 34 states, 31 states have (on average 2.096774193548387) internal successors, (65), 30 states have internal predecessors, (65), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:05:49,667 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 107 transitions. [2021-09-14 00:05:49,668 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2021-09-14 00:05:49,668 INFO L505 BasicCegarLoop]: Found error trace [2021-09-14 00:05:49,668 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-14 00:05:49,689 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (22)] Forceful destruction successful, exit code 0 [2021-09-14 00:05:49,868 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-09-14 00:05:49,868 INFO L402 AbstractCegarLoop]: === Iteration 22 === Targeting _destroy_in_nondeterministic_orderErr44ASSERT_VIOLATIONMEMORY_FREE === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-14 00:05:49,869 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-14 00:05:49,869 INFO L82 PathProgramCache]: Analyzing trace with hash -1605098671, now seen corresponding path program 1 times [2021-09-14 00:05:49,869 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-09-14 00:05:49,869 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1138016057] [2021-09-14 00:05:49,869 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-14 00:05:49,869 INFO L170 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-09-14 00:05:49,869 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-09-14 00:05:49,870 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2021-09-14 00:05:49,882 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (23)] Waiting until timeout for monitored process [2021-09-14 00:05:49,982 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-14 00:05:49,985 INFO L263 TraceCheckSpWp]: Trace formula consists of 156 conjuncts, 11 conjunts are in the unsatisfiable core [2021-09-14 00:05:49,996 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-14 00:05:49,996 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-14 00:05:51,447 INFO L264 TraceCheckUtils]: 0: Hoare triple {15073#true} call ULTIMATE.init(); {15073#true} is VALID [2021-09-14 00:05:51,447 INFO L281 TraceCheckUtils]: 1: Hoare triple {15073#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {15081#(bvult (_ bv0 32) |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:51,448 INFO L281 TraceCheckUtils]: 2: Hoare triple {15081#(bvult (_ bv0 32) |#StackHeapBarrier|)} assume true; {15081#(bvult (_ bv0 32) |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:51,448 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {15081#(bvult (_ bv0 32) |#StackHeapBarrier|)} {15073#true} #223#return; {15081#(bvult (_ bv0 32) |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:51,448 INFO L264 TraceCheckUtils]: 4: Hoare triple {15081#(bvult (_ bv0 32) |#StackHeapBarrier|)} call #t~ret13 := main(); {15081#(bvult (_ bv0 32) |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:51,449 INFO L281 TraceCheckUtils]: 5: Hoare triple {15081#(bvult (_ bv0 32) |#StackHeapBarrier|)} ~len~0 := 3bv32; {15081#(bvult (_ bv0 32) |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:51,449 INFO L264 TraceCheckUtils]: 6: Hoare triple {15081#(bvult (_ bv0 32) |#StackHeapBarrier|)} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {15081#(bvult (_ bv0 32) |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:51,453 INFO L281 TraceCheckUtils]: 7: Hoare triple {15081#(bvult (_ bv0 32) |#StackHeapBarrier|)} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {15100#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-14 00:05:51,454 INFO L281 TraceCheckUtils]: 8: Hoare triple {15100#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {15100#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-14 00:05:51,454 INFO L281 TraceCheckUtils]: 9: Hoare triple {15100#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {15100#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-14 00:05:51,455 INFO L281 TraceCheckUtils]: 10: Hoare triple {15100#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {15100#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-14 00:05:51,455 INFO L281 TraceCheckUtils]: 11: Hoare triple {15100#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {15100#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-14 00:05:51,455 INFO L281 TraceCheckUtils]: 12: Hoare triple {15100#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {15100#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-14 00:05:51,456 INFO L281 TraceCheckUtils]: 13: Hoare triple {15100#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {15100#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-14 00:05:51,456 INFO L281 TraceCheckUtils]: 14: Hoare triple {15100#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {15100#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-14 00:05:51,456 INFO L281 TraceCheckUtils]: 15: Hoare triple {15100#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {15100#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-14 00:05:51,456 INFO L281 TraceCheckUtils]: 16: Hoare triple {15100#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {15100#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-14 00:05:51,457 INFO L281 TraceCheckUtils]: 17: Hoare triple {15100#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {15131#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:51,457 INFO L281 TraceCheckUtils]: 18: Hoare triple {15131#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {15131#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:51,458 INFO L281 TraceCheckUtils]: 19: Hoare triple {15131#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {15131#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:51,459 INFO L281 TraceCheckUtils]: 20: Hoare triple {15131#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {15131#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:51,459 INFO L281 TraceCheckUtils]: 21: Hoare triple {15131#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {15144#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} is VALID [2021-09-14 00:05:51,459 INFO L281 TraceCheckUtils]: 22: Hoare triple {15144#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} assume !~bvsgt32(~len, 1bv32); {15144#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} is VALID [2021-09-14 00:05:51,460 INFO L281 TraceCheckUtils]: 23: Hoare triple {15144#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {15144#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} is VALID [2021-09-14 00:05:51,460 INFO L281 TraceCheckUtils]: 24: Hoare triple {15144#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {15144#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} is VALID [2021-09-14 00:05:51,461 INFO L281 TraceCheckUtils]: 25: Hoare triple {15144#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {15157#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult |dll_circular_create_#res.base| |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:51,461 INFO L281 TraceCheckUtils]: 26: Hoare triple {15157#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult |dll_circular_create_#res.base| |#StackHeapBarrier|))} assume true; {15157#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult |dll_circular_create_#res.base| |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:51,462 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {15157#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult |dll_circular_create_#res.base| |#StackHeapBarrier|))} {15081#(bvult (_ bv0 32) |#StackHeapBarrier|)} #219#return; {15164#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult |main_#t~ret12.base| |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:51,463 INFO L281 TraceCheckUtils]: 28: Hoare triple {15164#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult |main_#t~ret12.base| |#StackHeapBarrier|))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {15168#(and (bvult main_~head~1.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} is VALID [2021-09-14 00:05:51,463 INFO L264 TraceCheckUtils]: 29: Hoare triple {15168#(and (bvult main_~head~1.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {15172#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult |_destroy_in_nondeterministic_order_#in~head.base| |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:51,464 INFO L281 TraceCheckUtils]: 30: Hoare triple {15172#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult |_destroy_in_nondeterministic_order_#in~head.base| |#StackHeapBarrier|))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {15176#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:51,464 INFO L281 TraceCheckUtils]: 31: Hoare triple {15176#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {15176#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:51,465 INFO L281 TraceCheckUtils]: 32: Hoare triple {15176#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {15176#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:51,465 INFO L281 TraceCheckUtils]: 33: Hoare triple {15176#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {15176#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:51,466 INFO L281 TraceCheckUtils]: 34: Hoare triple {15176#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {15176#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:51,466 INFO L281 TraceCheckUtils]: 35: Hoare triple {15176#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} assume !(0bv32 != #t~nondet7);havoc #t~nondet7; {15176#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:51,466 INFO L281 TraceCheckUtils]: 36: Hoare triple {15176#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} assume !(0bv32 != #t~nondet9);havoc #t~nondet9; {15176#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:51,467 INFO L281 TraceCheckUtils]: 37: Hoare triple {15176#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} assume 0bv32 == ~pred~0.offset; {15176#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:51,467 INFO L281 TraceCheckUtils]: 38: Hoare triple {15176#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} assume ~bvult32(~pred~0.base, #StackHeapBarrier); {15176#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:51,473 INFO L281 TraceCheckUtils]: 39: Hoare triple {15176#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} assume 0bv32 == ~pred~0.base || 1bv1 == #valid[~pred~0.base];call ULTIMATE.dealloc(~pred~0.base, ~pred~0.offset); {15176#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:51,474 INFO L281 TraceCheckUtils]: 40: Hoare triple {15176#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} assume !(0bv32 != #t~nondet11);havoc #t~nondet11; {15176#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:51,474 INFO L281 TraceCheckUtils]: 41: Hoare triple {15176#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} assume 0bv32 == ~head.offset; {15176#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:51,475 INFO L281 TraceCheckUtils]: 42: Hoare triple {15176#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} assume !~bvult32(~head.base, #StackHeapBarrier); {15074#false} is VALID [2021-09-14 00:05:51,475 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2021-09-14 00:05:51,475 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-14 00:05:51,999 INFO L281 TraceCheckUtils]: 42: Hoare triple {15213#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} assume !~bvult32(~head.base, #StackHeapBarrier); {15074#false} is VALID [2021-09-14 00:05:51,999 INFO L281 TraceCheckUtils]: 41: Hoare triple {15213#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} assume 0bv32 == ~head.offset; {15213#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:51,999 INFO L281 TraceCheckUtils]: 40: Hoare triple {15213#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} assume !(0bv32 != #t~nondet11);havoc #t~nondet11; {15213#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:52,000 INFO L281 TraceCheckUtils]: 39: Hoare triple {15213#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} assume 0bv32 == ~pred~0.base || 1bv1 == #valid[~pred~0.base];call ULTIMATE.dealloc(~pred~0.base, ~pred~0.offset); {15213#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:52,000 INFO L281 TraceCheckUtils]: 38: Hoare triple {15213#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} assume ~bvult32(~pred~0.base, #StackHeapBarrier); {15213#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:52,000 INFO L281 TraceCheckUtils]: 37: Hoare triple {15213#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} assume 0bv32 == ~pred~0.offset; {15213#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:52,001 INFO L281 TraceCheckUtils]: 36: Hoare triple {15213#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} assume !(0bv32 != #t~nondet9);havoc #t~nondet9; {15213#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:52,001 INFO L281 TraceCheckUtils]: 35: Hoare triple {15213#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} assume !(0bv32 != #t~nondet7);havoc #t~nondet7; {15213#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:52,001 INFO L281 TraceCheckUtils]: 34: Hoare triple {15213#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {15213#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:52,002 INFO L281 TraceCheckUtils]: 33: Hoare triple {15213#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {15213#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:52,002 INFO L281 TraceCheckUtils]: 32: Hoare triple {15213#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {15213#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:52,002 INFO L281 TraceCheckUtils]: 31: Hoare triple {15213#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {15213#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:52,002 INFO L281 TraceCheckUtils]: 30: Hoare triple {15250#(bvult |_destroy_in_nondeterministic_order_#in~head.base| |#StackHeapBarrier|)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {15213#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:52,003 INFO L264 TraceCheckUtils]: 29: Hoare triple {15254#(bvult main_~head~1.base |#StackHeapBarrier|)} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {15250#(bvult |_destroy_in_nondeterministic_order_#in~head.base| |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:52,003 INFO L281 TraceCheckUtils]: 28: Hoare triple {15258#(bvult |main_#t~ret12.base| |#StackHeapBarrier|)} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {15254#(bvult main_~head~1.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:52,004 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {15265#(bvult |dll_circular_create_#res.base| |#StackHeapBarrier|)} {15073#true} #219#return; {15258#(bvult |main_#t~ret12.base| |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:52,004 INFO L281 TraceCheckUtils]: 26: Hoare triple {15265#(bvult |dll_circular_create_#res.base| |#StackHeapBarrier|)} assume true; {15265#(bvult |dll_circular_create_#res.base| |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:52,005 INFO L281 TraceCheckUtils]: 25: Hoare triple {15272#(bvult dll_circular_create_~head~0.base |#StackHeapBarrier|)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {15265#(bvult |dll_circular_create_#res.base| |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:52,005 INFO L281 TraceCheckUtils]: 24: Hoare triple {15272#(bvult dll_circular_create_~head~0.base |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {15272#(bvult dll_circular_create_~head~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:52,005 INFO L281 TraceCheckUtils]: 23: Hoare triple {15272#(bvult dll_circular_create_~head~0.base |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {15272#(bvult dll_circular_create_~head~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:52,005 INFO L281 TraceCheckUtils]: 22: Hoare triple {15272#(bvult dll_circular_create_~head~0.base |#StackHeapBarrier|)} assume !~bvsgt32(~len, 1bv32); {15272#(bvult dll_circular_create_~head~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:52,006 INFO L281 TraceCheckUtils]: 21: Hoare triple {15285#(bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {15272#(bvult dll_circular_create_~head~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:52,006 INFO L281 TraceCheckUtils]: 20: Hoare triple {15285#(bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {15285#(bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:52,006 INFO L281 TraceCheckUtils]: 19: Hoare triple {15285#(bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {15285#(bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:52,007 INFO L281 TraceCheckUtils]: 18: Hoare triple {15285#(bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {15285#(bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:52,007 INFO L281 TraceCheckUtils]: 17: Hoare triple {15073#true} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {15285#(bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:52,007 INFO L281 TraceCheckUtils]: 16: Hoare triple {15073#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {15073#true} is VALID [2021-09-14 00:05:52,007 INFO L281 TraceCheckUtils]: 15: Hoare triple {15073#true} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {15073#true} is VALID [2021-09-14 00:05:52,007 INFO L281 TraceCheckUtils]: 14: Hoare triple {15073#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {15073#true} is VALID [2021-09-14 00:05:52,007 INFO L281 TraceCheckUtils]: 13: Hoare triple {15073#true} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {15073#true} is VALID [2021-09-14 00:05:52,007 INFO L281 TraceCheckUtils]: 12: Hoare triple {15073#true} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {15073#true} is VALID [2021-09-14 00:05:52,007 INFO L281 TraceCheckUtils]: 11: Hoare triple {15073#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {15073#true} is VALID [2021-09-14 00:05:52,007 INFO L281 TraceCheckUtils]: 10: Hoare triple {15073#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {15073#true} is VALID [2021-09-14 00:05:52,007 INFO L281 TraceCheckUtils]: 9: Hoare triple {15073#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {15073#true} is VALID [2021-09-14 00:05:52,008 INFO L281 TraceCheckUtils]: 8: Hoare triple {15073#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {15073#true} is VALID [2021-09-14 00:05:52,008 INFO L281 TraceCheckUtils]: 7: Hoare triple {15073#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {15073#true} is VALID [2021-09-14 00:05:52,008 INFO L264 TraceCheckUtils]: 6: Hoare triple {15073#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {15073#true} is VALID [2021-09-14 00:05:52,008 INFO L281 TraceCheckUtils]: 5: Hoare triple {15073#true} ~len~0 := 3bv32; {15073#true} is VALID [2021-09-14 00:05:52,008 INFO L264 TraceCheckUtils]: 4: Hoare triple {15073#true} call #t~ret13 := main(); {15073#true} is VALID [2021-09-14 00:05:52,008 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {15073#true} {15073#true} #223#return; {15073#true} is VALID [2021-09-14 00:05:52,008 INFO L281 TraceCheckUtils]: 2: Hoare triple {15073#true} assume true; {15073#true} is VALID [2021-09-14 00:05:52,008 INFO L281 TraceCheckUtils]: 1: Hoare triple {15073#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {15073#true} is VALID [2021-09-14 00:05:52,008 INFO L264 TraceCheckUtils]: 0: Hoare triple {15073#true} call ULTIMATE.init(); {15073#true} is VALID [2021-09-14 00:05:52,008 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2021-09-14 00:05:52,008 INFO L139 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2021-09-14 00:05:52,008 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1138016057] [2021-09-14 00:05:52,008 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1138016057] provided 2 perfect and 0 imperfect interpolant sequences [2021-09-14 00:05:52,008 INFO L186 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2021-09-14 00:05:52,008 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10, 8] imperfect sequences [] total 17 [2021-09-14 00:05:52,009 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1501562823] [2021-09-14 00:05:52,009 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 15 states have (on average 4.933333333333334) internal successors, (74), 14 states have internal predecessors, (74), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 43 [2021-09-14 00:05:52,009 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-14 00:05:52,009 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 18 states, 15 states have (on average 4.933333333333334) internal successors, (74), 14 states have internal predecessors, (74), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2021-09-14 00:05:52,205 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-14 00:05:52,205 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2021-09-14 00:05:52,205 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2021-09-14 00:05:52,205 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2021-09-14 00:05:52,205 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=244, Unknown=0, NotChecked=0, Total=306 [2021-09-14 00:05:52,205 INFO L87 Difference]: Start difference. First operand 102 states and 107 transitions. Second operand has 18 states, 15 states have (on average 4.933333333333334) internal successors, (74), 14 states have internal predecessors, (74), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2021-09-14 00:05:53,801 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:05:53,802 INFO L93 Difference]: Finished difference Result 103 states and 108 transitions. [2021-09-14 00:05:53,802 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2021-09-14 00:05:53,802 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 15 states have (on average 4.933333333333334) internal successors, (74), 14 states have internal predecessors, (74), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 43 [2021-09-14 00:05:53,802 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-14 00:05:53,802 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 15 states have (on average 4.933333333333334) internal successors, (74), 14 states have internal predecessors, (74), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2021-09-14 00:05:53,803 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 104 transitions. [2021-09-14 00:05:53,803 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 15 states have (on average 4.933333333333334) internal successors, (74), 14 states have internal predecessors, (74), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2021-09-14 00:05:53,804 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 104 transitions. [2021-09-14 00:05:53,805 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 104 transitions. [2021-09-14 00:05:53,987 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-14 00:05:53,988 INFO L225 Difference]: With dead ends: 103 [2021-09-14 00:05:53,988 INFO L226 Difference]: Without dead ends: 103 [2021-09-14 00:05:53,988 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 85 GetRequests, 69 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 70 ImplicationChecksByTransitivity, 427.95ms TimeCoverageRelationStatistics Valid=62, Invalid=244, Unknown=0, NotChecked=0, Total=306 [2021-09-14 00:05:53,989 INFO L928 BasicCegarLoop]: 7 mSDtfsCounter, 82 mSDsluCounter, 418 mSDsCounter, 0 mSdLazyCounter, 469 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 748.31ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 83 SdHoareTripleChecker+Valid, 14 SdHoareTripleChecker+Invalid, 778 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 3.02ms SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 469 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 302 IncrementalHoareTripleChecker+Unchecked, 751.39ms IncrementalHoareTripleChecker+Time [2021-09-14 00:05:53,989 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [83 Valid, 14 Invalid, 778 Unknown, 0 Unchecked, 3.02ms Time], IncrementalHoareTripleChecker [7 Valid, 469 Invalid, 0 Unknown, 302 Unchecked, 751.39ms Time] [2021-09-14 00:05:53,989 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2021-09-14 00:05:53,990 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 101. [2021-09-14 00:05:53,991 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-14 00:05:53,991 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand has 101 states, 79 states have (on average 1.2531645569620253) internal successors, (99), 93 states have internal predecessors, (99), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:05:53,991 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand has 101 states, 79 states have (on average 1.2531645569620253) internal successors, (99), 93 states have internal predecessors, (99), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:05:53,991 INFO L87 Difference]: Start difference. First operand 103 states. Second operand has 101 states, 79 states have (on average 1.2531645569620253) internal successors, (99), 93 states have internal predecessors, (99), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:05:53,992 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:05:53,992 INFO L93 Difference]: Finished difference Result 103 states and 108 transitions. [2021-09-14 00:05:53,992 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 108 transitions. [2021-09-14 00:05:53,992 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-14 00:05:53,993 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-14 00:05:53,993 INFO L74 IsIncluded]: Start isIncluded. First operand has 101 states, 79 states have (on average 1.2531645569620253) internal successors, (99), 93 states have internal predecessors, (99), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 103 states. [2021-09-14 00:05:53,993 INFO L87 Difference]: Start difference. First operand has 101 states, 79 states have (on average 1.2531645569620253) internal successors, (99), 93 states have internal predecessors, (99), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 103 states. [2021-09-14 00:05:53,994 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:05:53,994 INFO L93 Difference]: Finished difference Result 103 states and 108 transitions. [2021-09-14 00:05:53,994 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 108 transitions. [2021-09-14 00:05:53,994 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-14 00:05:53,994 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-14 00:05:53,994 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-14 00:05:53,994 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-14 00:05:53,994 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 101 states, 79 states have (on average 1.2531645569620253) internal successors, (99), 93 states have internal predecessors, (99), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:05:53,995 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 101 states to 101 states and 106 transitions. [2021-09-14 00:05:53,995 INFO L78 Accepts]: Start accepts. Automaton has 101 states and 106 transitions. Word has length 43 [2021-09-14 00:05:53,995 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-14 00:05:53,995 INFO L470 AbstractCegarLoop]: Abstraction has 101 states and 106 transitions. [2021-09-14 00:05:53,995 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 15 states have (on average 4.933333333333334) internal successors, (74), 14 states have internal predecessors, (74), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2021-09-14 00:05:53,995 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 106 transitions. [2021-09-14 00:05:53,996 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2021-09-14 00:05:53,996 INFO L505 BasicCegarLoop]: Found error trace [2021-09-14 00:05:53,996 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-14 00:05:54,005 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (23)] Forceful destruction successful, exit code 0 [2021-09-14 00:05:54,196 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-09-14 00:05:54,196 INFO L402 AbstractCegarLoop]: === Iteration 23 === Targeting _destroy_in_nondeterministic_orderErr38ASSERT_VIOLATIONMEMORY_FREE === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-14 00:05:54,197 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-14 00:05:54,197 INFO L82 PathProgramCache]: Analyzing trace with hash -1605112573, now seen corresponding path program 1 times [2021-09-14 00:05:54,197 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-09-14 00:05:54,197 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [832792129] [2021-09-14 00:05:54,197 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-14 00:05:54,197 INFO L170 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-09-14 00:05:54,197 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-09-14 00:05:54,198 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2021-09-14 00:05:54,200 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (24)] Waiting until timeout for monitored process [2021-09-14 00:05:54,299 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-14 00:05:54,304 INFO L263 TraceCheckSpWp]: Trace formula consists of 156 conjuncts, 11 conjunts are in the unsatisfiable core [2021-09-14 00:05:54,314 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-14 00:05:54,314 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-14 00:05:55,789 INFO L264 TraceCheckUtils]: 0: Hoare triple {15758#true} call ULTIMATE.init(); {15758#true} is VALID [2021-09-14 00:05:55,790 INFO L281 TraceCheckUtils]: 1: Hoare triple {15758#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {15766#(bvult (_ bv0 32) |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:55,790 INFO L281 TraceCheckUtils]: 2: Hoare triple {15766#(bvult (_ bv0 32) |#StackHeapBarrier|)} assume true; {15766#(bvult (_ bv0 32) |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:55,790 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {15766#(bvult (_ bv0 32) |#StackHeapBarrier|)} {15758#true} #223#return; {15766#(bvult (_ bv0 32) |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:55,791 INFO L264 TraceCheckUtils]: 4: Hoare triple {15766#(bvult (_ bv0 32) |#StackHeapBarrier|)} call #t~ret13 := main(); {15766#(bvult (_ bv0 32) |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:55,791 INFO L281 TraceCheckUtils]: 5: Hoare triple {15766#(bvult (_ bv0 32) |#StackHeapBarrier|)} ~len~0 := 3bv32; {15766#(bvult (_ bv0 32) |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:55,791 INFO L264 TraceCheckUtils]: 6: Hoare triple {15766#(bvult (_ bv0 32) |#StackHeapBarrier|)} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {15766#(bvult (_ bv0 32) |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:55,795 INFO L281 TraceCheckUtils]: 7: Hoare triple {15766#(bvult (_ bv0 32) |#StackHeapBarrier|)} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {15785#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-14 00:05:55,796 INFO L281 TraceCheckUtils]: 8: Hoare triple {15785#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {15785#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-14 00:05:55,796 INFO L281 TraceCheckUtils]: 9: Hoare triple {15785#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {15785#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-14 00:05:55,796 INFO L281 TraceCheckUtils]: 10: Hoare triple {15785#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {15785#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-14 00:05:55,797 INFO L281 TraceCheckUtils]: 11: Hoare triple {15785#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {15785#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-14 00:05:55,797 INFO L281 TraceCheckUtils]: 12: Hoare triple {15785#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {15785#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-14 00:05:55,797 INFO L281 TraceCheckUtils]: 13: Hoare triple {15785#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {15785#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-14 00:05:55,798 INFO L281 TraceCheckUtils]: 14: Hoare triple {15785#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {15785#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-14 00:05:55,798 INFO L281 TraceCheckUtils]: 15: Hoare triple {15785#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {15785#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-14 00:05:55,798 INFO L281 TraceCheckUtils]: 16: Hoare triple {15785#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {15785#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-14 00:05:55,799 INFO L281 TraceCheckUtils]: 17: Hoare triple {15785#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {15816#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:55,799 INFO L281 TraceCheckUtils]: 18: Hoare triple {15816#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {15816#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:55,799 INFO L281 TraceCheckUtils]: 19: Hoare triple {15816#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {15816#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:55,800 INFO L281 TraceCheckUtils]: 20: Hoare triple {15816#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {15816#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:55,800 INFO L281 TraceCheckUtils]: 21: Hoare triple {15816#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {15829#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} is VALID [2021-09-14 00:05:55,801 INFO L281 TraceCheckUtils]: 22: Hoare triple {15829#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} assume !~bvsgt32(~len, 1bv32); {15829#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} is VALID [2021-09-14 00:05:55,801 INFO L281 TraceCheckUtils]: 23: Hoare triple {15829#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {15829#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} is VALID [2021-09-14 00:05:55,802 INFO L281 TraceCheckUtils]: 24: Hoare triple {15829#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {15829#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} is VALID [2021-09-14 00:05:55,802 INFO L281 TraceCheckUtils]: 25: Hoare triple {15829#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {15842#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult |dll_circular_create_#res.base| |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:55,802 INFO L281 TraceCheckUtils]: 26: Hoare triple {15842#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult |dll_circular_create_#res.base| |#StackHeapBarrier|))} assume true; {15842#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult |dll_circular_create_#res.base| |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:55,803 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {15842#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult |dll_circular_create_#res.base| |#StackHeapBarrier|))} {15766#(bvult (_ bv0 32) |#StackHeapBarrier|)} #219#return; {15849#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult |main_#t~ret12.base| |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:55,803 INFO L281 TraceCheckUtils]: 28: Hoare triple {15849#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult |main_#t~ret12.base| |#StackHeapBarrier|))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {15853#(and (bvult main_~head~1.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} is VALID [2021-09-14 00:05:55,804 INFO L264 TraceCheckUtils]: 29: Hoare triple {15853#(and (bvult main_~head~1.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {15857#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult |_destroy_in_nondeterministic_order_#in~head.base| |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:55,804 INFO L281 TraceCheckUtils]: 30: Hoare triple {15857#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult |_destroy_in_nondeterministic_order_#in~head.base| |#StackHeapBarrier|))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {15861#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:55,805 INFO L281 TraceCheckUtils]: 31: Hoare triple {15861#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {15861#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:55,805 INFO L281 TraceCheckUtils]: 32: Hoare triple {15861#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {15861#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:55,806 INFO L281 TraceCheckUtils]: 33: Hoare triple {15861#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {15861#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:55,806 INFO L281 TraceCheckUtils]: 34: Hoare triple {15861#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {15861#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:55,807 INFO L281 TraceCheckUtils]: 35: Hoare triple {15861#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} assume !(0bv32 != #t~nondet7);havoc #t~nondet7; {15861#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:55,807 INFO L281 TraceCheckUtils]: 36: Hoare triple {15861#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} assume !(0bv32 != #t~nondet9);havoc #t~nondet9; {15861#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:55,807 INFO L281 TraceCheckUtils]: 37: Hoare triple {15861#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} assume 0bv32 == ~pred~0.offset; {15861#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:55,808 INFO L281 TraceCheckUtils]: 38: Hoare triple {15861#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} assume ~bvult32(~pred~0.base, #StackHeapBarrier); {15861#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:55,808 INFO L281 TraceCheckUtils]: 39: Hoare triple {15861#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} assume 0bv32 == ~pred~0.base || 1bv1 == #valid[~pred~0.base];call ULTIMATE.dealloc(~pred~0.base, ~pred~0.offset); {15861#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:55,808 INFO L281 TraceCheckUtils]: 40: Hoare triple {15861#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} assume 0bv32 != #t~nondet11;havoc #t~nondet11; {15861#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:55,809 INFO L281 TraceCheckUtils]: 41: Hoare triple {15861#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} assume 0bv32 == ~head.offset; {15861#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:55,809 INFO L281 TraceCheckUtils]: 42: Hoare triple {15861#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} assume !~bvult32(~head.base, #StackHeapBarrier); {15759#false} is VALID [2021-09-14 00:05:55,809 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2021-09-14 00:05:55,809 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-14 00:05:56,352 INFO L281 TraceCheckUtils]: 42: Hoare triple {15898#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} assume !~bvult32(~head.base, #StackHeapBarrier); {15759#false} is VALID [2021-09-14 00:05:56,352 INFO L281 TraceCheckUtils]: 41: Hoare triple {15898#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} assume 0bv32 == ~head.offset; {15898#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:56,352 INFO L281 TraceCheckUtils]: 40: Hoare triple {15898#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} assume 0bv32 != #t~nondet11;havoc #t~nondet11; {15898#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:56,353 INFO L281 TraceCheckUtils]: 39: Hoare triple {15898#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} assume 0bv32 == ~pred~0.base || 1bv1 == #valid[~pred~0.base];call ULTIMATE.dealloc(~pred~0.base, ~pred~0.offset); {15898#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:56,353 INFO L281 TraceCheckUtils]: 38: Hoare triple {15898#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} assume ~bvult32(~pred~0.base, #StackHeapBarrier); {15898#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:56,353 INFO L281 TraceCheckUtils]: 37: Hoare triple {15898#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} assume 0bv32 == ~pred~0.offset; {15898#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:56,354 INFO L281 TraceCheckUtils]: 36: Hoare triple {15898#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} assume !(0bv32 != #t~nondet9);havoc #t~nondet9; {15898#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:56,354 INFO L281 TraceCheckUtils]: 35: Hoare triple {15898#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} assume !(0bv32 != #t~nondet7);havoc #t~nondet7; {15898#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:56,354 INFO L281 TraceCheckUtils]: 34: Hoare triple {15898#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {15898#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:56,354 INFO L281 TraceCheckUtils]: 33: Hoare triple {15898#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {15898#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:56,355 INFO L281 TraceCheckUtils]: 32: Hoare triple {15898#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {15898#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:56,355 INFO L281 TraceCheckUtils]: 31: Hoare triple {15898#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {15898#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:56,355 INFO L281 TraceCheckUtils]: 30: Hoare triple {15935#(bvult |_destroy_in_nondeterministic_order_#in~head.base| |#StackHeapBarrier|)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {15898#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:56,356 INFO L264 TraceCheckUtils]: 29: Hoare triple {15939#(bvult main_~head~1.base |#StackHeapBarrier|)} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {15935#(bvult |_destroy_in_nondeterministic_order_#in~head.base| |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:56,356 INFO L281 TraceCheckUtils]: 28: Hoare triple {15943#(bvult |main_#t~ret12.base| |#StackHeapBarrier|)} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {15939#(bvult main_~head~1.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:56,357 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {15950#(bvult |dll_circular_create_#res.base| |#StackHeapBarrier|)} {15758#true} #219#return; {15943#(bvult |main_#t~ret12.base| |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:56,357 INFO L281 TraceCheckUtils]: 26: Hoare triple {15950#(bvult |dll_circular_create_#res.base| |#StackHeapBarrier|)} assume true; {15950#(bvult |dll_circular_create_#res.base| |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:56,357 INFO L281 TraceCheckUtils]: 25: Hoare triple {15957#(bvult dll_circular_create_~head~0.base |#StackHeapBarrier|)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {15950#(bvult |dll_circular_create_#res.base| |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:56,358 INFO L281 TraceCheckUtils]: 24: Hoare triple {15957#(bvult dll_circular_create_~head~0.base |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {15957#(bvult dll_circular_create_~head~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:56,358 INFO L281 TraceCheckUtils]: 23: Hoare triple {15957#(bvult dll_circular_create_~head~0.base |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {15957#(bvult dll_circular_create_~head~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:56,358 INFO L281 TraceCheckUtils]: 22: Hoare triple {15957#(bvult dll_circular_create_~head~0.base |#StackHeapBarrier|)} assume !~bvsgt32(~len, 1bv32); {15957#(bvult dll_circular_create_~head~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:56,358 INFO L281 TraceCheckUtils]: 21: Hoare triple {15970#(bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {15957#(bvult dll_circular_create_~head~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:56,359 INFO L281 TraceCheckUtils]: 20: Hoare triple {15970#(bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {15970#(bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:56,359 INFO L281 TraceCheckUtils]: 19: Hoare triple {15970#(bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {15970#(bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:56,359 INFO L281 TraceCheckUtils]: 18: Hoare triple {15970#(bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {15970#(bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:56,359 INFO L281 TraceCheckUtils]: 17: Hoare triple {15758#true} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {15970#(bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:56,360 INFO L281 TraceCheckUtils]: 16: Hoare triple {15758#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {15758#true} is VALID [2021-09-14 00:05:56,360 INFO L281 TraceCheckUtils]: 15: Hoare triple {15758#true} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {15758#true} is VALID [2021-09-14 00:05:56,360 INFO L281 TraceCheckUtils]: 14: Hoare triple {15758#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {15758#true} is VALID [2021-09-14 00:05:56,360 INFO L281 TraceCheckUtils]: 13: Hoare triple {15758#true} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {15758#true} is VALID [2021-09-14 00:05:56,360 INFO L281 TraceCheckUtils]: 12: Hoare triple {15758#true} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {15758#true} is VALID [2021-09-14 00:05:56,360 INFO L281 TraceCheckUtils]: 11: Hoare triple {15758#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {15758#true} is VALID [2021-09-14 00:05:56,360 INFO L281 TraceCheckUtils]: 10: Hoare triple {15758#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {15758#true} is VALID [2021-09-14 00:05:56,360 INFO L281 TraceCheckUtils]: 9: Hoare triple {15758#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {15758#true} is VALID [2021-09-14 00:05:56,360 INFO L281 TraceCheckUtils]: 8: Hoare triple {15758#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {15758#true} is VALID [2021-09-14 00:05:56,360 INFO L281 TraceCheckUtils]: 7: Hoare triple {15758#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {15758#true} is VALID [2021-09-14 00:05:56,360 INFO L264 TraceCheckUtils]: 6: Hoare triple {15758#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {15758#true} is VALID [2021-09-14 00:05:56,360 INFO L281 TraceCheckUtils]: 5: Hoare triple {15758#true} ~len~0 := 3bv32; {15758#true} is VALID [2021-09-14 00:05:56,360 INFO L264 TraceCheckUtils]: 4: Hoare triple {15758#true} call #t~ret13 := main(); {15758#true} is VALID [2021-09-14 00:05:56,360 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {15758#true} {15758#true} #223#return; {15758#true} is VALID [2021-09-14 00:05:56,360 INFO L281 TraceCheckUtils]: 2: Hoare triple {15758#true} assume true; {15758#true} is VALID [2021-09-14 00:05:56,360 INFO L281 TraceCheckUtils]: 1: Hoare triple {15758#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {15758#true} is VALID [2021-09-14 00:05:56,361 INFO L264 TraceCheckUtils]: 0: Hoare triple {15758#true} call ULTIMATE.init(); {15758#true} is VALID [2021-09-14 00:05:56,361 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2021-09-14 00:05:56,361 INFO L139 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2021-09-14 00:05:56,361 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [832792129] [2021-09-14 00:05:56,361 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleMathsat [832792129] provided 2 perfect and 0 imperfect interpolant sequences [2021-09-14 00:05:56,361 INFO L186 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2021-09-14 00:05:56,361 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10, 8] imperfect sequences [] total 17 [2021-09-14 00:05:56,361 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1154630978] [2021-09-14 00:05:56,361 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 15 states have (on average 4.933333333333334) internal successors, (74), 14 states have internal predecessors, (74), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 43 [2021-09-14 00:05:56,362 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-14 00:05:56,362 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 18 states, 15 states have (on average 4.933333333333334) internal successors, (74), 14 states have internal predecessors, (74), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2021-09-14 00:05:56,578 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-14 00:05:56,578 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2021-09-14 00:05:56,578 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2021-09-14 00:05:56,578 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2021-09-14 00:05:56,578 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=244, Unknown=0, NotChecked=0, Total=306 [2021-09-14 00:05:56,578 INFO L87 Difference]: Start difference. First operand 101 states and 106 transitions. Second operand has 18 states, 15 states have (on average 4.933333333333334) internal successors, (74), 14 states have internal predecessors, (74), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2021-09-14 00:05:58,113 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:05:58,113 INFO L93 Difference]: Finished difference Result 102 states and 107 transitions. [2021-09-14 00:05:58,113 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2021-09-14 00:05:58,114 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 15 states have (on average 4.933333333333334) internal successors, (74), 14 states have internal predecessors, (74), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 43 [2021-09-14 00:05:58,114 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-14 00:05:58,114 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 15 states have (on average 4.933333333333334) internal successors, (74), 14 states have internal predecessors, (74), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2021-09-14 00:05:58,115 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 103 transitions. [2021-09-14 00:05:58,115 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 15 states have (on average 4.933333333333334) internal successors, (74), 14 states have internal predecessors, (74), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2021-09-14 00:05:58,116 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 103 transitions. [2021-09-14 00:05:58,116 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 103 transitions. [2021-09-14 00:05:58,306 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-14 00:05:58,307 INFO L225 Difference]: With dead ends: 102 [2021-09-14 00:05:58,307 INFO L226 Difference]: Without dead ends: 102 [2021-09-14 00:05:58,307 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 85 GetRequests, 69 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 70 ImplicationChecksByTransitivity, 441.93ms TimeCoverageRelationStatistics Valid=62, Invalid=244, Unknown=0, NotChecked=0, Total=306 [2021-09-14 00:05:58,308 INFO L928 BasicCegarLoop]: 6 mSDtfsCounter, 44 mSDsluCounter, 347 mSDsCounter, 0 mSdLazyCounter, 486 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 725.73ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 45 SdHoareTripleChecker+Valid, 15 SdHoareTripleChecker+Invalid, 608 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 1.10ms SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 486 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 116 IncrementalHoareTripleChecker+Unchecked, 727.21ms IncrementalHoareTripleChecker+Time [2021-09-14 00:05:58,308 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [45 Valid, 15 Invalid, 608 Unknown, 0 Unchecked, 1.10ms Time], IncrementalHoareTripleChecker [6 Valid, 486 Invalid, 0 Unknown, 116 Unchecked, 727.21ms Time] [2021-09-14 00:05:58,308 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 102 states. [2021-09-14 00:05:58,309 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 102 to 100. [2021-09-14 00:05:58,309 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-14 00:05:58,310 INFO L82 GeneralOperation]: Start isEquivalent. First operand 102 states. Second operand has 100 states, 79 states have (on average 1.240506329113924) internal successors, (98), 92 states have internal predecessors, (98), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:05:58,310 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand has 100 states, 79 states have (on average 1.240506329113924) internal successors, (98), 92 states have internal predecessors, (98), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:05:58,310 INFO L87 Difference]: Start difference. First operand 102 states. Second operand has 100 states, 79 states have (on average 1.240506329113924) internal successors, (98), 92 states have internal predecessors, (98), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:05:58,311 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:05:58,311 INFO L93 Difference]: Finished difference Result 102 states and 107 transitions. [2021-09-14 00:05:58,311 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 107 transitions. [2021-09-14 00:05:58,312 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-14 00:05:58,312 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-14 00:05:58,312 INFO L74 IsIncluded]: Start isIncluded. First operand has 100 states, 79 states have (on average 1.240506329113924) internal successors, (98), 92 states have internal predecessors, (98), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 102 states. [2021-09-14 00:05:58,312 INFO L87 Difference]: Start difference. First operand has 100 states, 79 states have (on average 1.240506329113924) internal successors, (98), 92 states have internal predecessors, (98), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 102 states. [2021-09-14 00:05:58,313 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:05:58,313 INFO L93 Difference]: Finished difference Result 102 states and 107 transitions. [2021-09-14 00:05:58,313 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 107 transitions. [2021-09-14 00:05:58,314 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-14 00:05:58,314 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-14 00:05:58,314 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-14 00:05:58,314 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-14 00:05:58,314 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 100 states, 79 states have (on average 1.240506329113924) internal successors, (98), 92 states have internal predecessors, (98), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:05:58,315 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 105 transitions. [2021-09-14 00:05:58,315 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 105 transitions. Word has length 43 [2021-09-14 00:05:58,315 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-14 00:05:58,315 INFO L470 AbstractCegarLoop]: Abstraction has 100 states and 105 transitions. [2021-09-14 00:05:58,316 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 15 states have (on average 4.933333333333334) internal successors, (74), 14 states have internal predecessors, (74), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2021-09-14 00:05:58,316 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 105 transitions. [2021-09-14 00:05:58,317 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2021-09-14 00:05:58,317 INFO L505 BasicCegarLoop]: Found error trace [2021-09-14 00:05:58,317 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-14 00:05:58,325 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (24)] Forceful destruction successful, exit code 0 [2021-09-14 00:05:58,524 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 24 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-09-14 00:05:58,525 INFO L402 AbstractCegarLoop]: === Iteration 24 === Targeting _destroy_in_nondeterministic_orderErr23ASSERT_VIOLATIONMEMORY_FREE === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-14 00:05:58,525 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-14 00:05:58,525 INFO L82 PathProgramCache]: Analyzing trace with hash -2094685411, now seen corresponding path program 1 times [2021-09-14 00:05:58,525 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-09-14 00:05:58,526 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [2119776982] [2021-09-14 00:05:58,526 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-14 00:05:58,526 INFO L170 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-09-14 00:05:58,526 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-09-14 00:05:58,527 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2021-09-14 00:05:58,549 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (25)] Waiting until timeout for monitored process [2021-09-14 00:05:58,661 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-14 00:05:58,665 INFO L263 TraceCheckSpWp]: Trace formula consists of 156 conjuncts, 11 conjunts are in the unsatisfiable core [2021-09-14 00:05:58,670 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-14 00:05:58,671 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-14 00:05:59,842 INFO L264 TraceCheckUtils]: 0: Hoare triple {16439#true} call ULTIMATE.init(); {16439#true} is VALID [2021-09-14 00:05:59,842 INFO L281 TraceCheckUtils]: 1: Hoare triple {16439#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {16447#(bvult (_ bv0 32) |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:59,842 INFO L281 TraceCheckUtils]: 2: Hoare triple {16447#(bvult (_ bv0 32) |#StackHeapBarrier|)} assume true; {16447#(bvult (_ bv0 32) |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:59,843 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {16447#(bvult (_ bv0 32) |#StackHeapBarrier|)} {16439#true} #223#return; {16447#(bvult (_ bv0 32) |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:59,843 INFO L264 TraceCheckUtils]: 4: Hoare triple {16447#(bvult (_ bv0 32) |#StackHeapBarrier|)} call #t~ret13 := main(); {16447#(bvult (_ bv0 32) |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:59,843 INFO L281 TraceCheckUtils]: 5: Hoare triple {16447#(bvult (_ bv0 32) |#StackHeapBarrier|)} ~len~0 := 3bv32; {16447#(bvult (_ bv0 32) |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:59,843 INFO L264 TraceCheckUtils]: 6: Hoare triple {16447#(bvult (_ bv0 32) |#StackHeapBarrier|)} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {16447#(bvult (_ bv0 32) |#StackHeapBarrier|)} is VALID [2021-09-14 00:05:59,847 INFO L281 TraceCheckUtils]: 7: Hoare triple {16447#(bvult (_ bv0 32) |#StackHeapBarrier|)} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {16466#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-14 00:05:59,847 INFO L281 TraceCheckUtils]: 8: Hoare triple {16466#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {16466#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-14 00:05:59,848 INFO L281 TraceCheckUtils]: 9: Hoare triple {16466#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {16466#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-14 00:05:59,848 INFO L281 TraceCheckUtils]: 10: Hoare triple {16466#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {16466#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-14 00:05:59,848 INFO L281 TraceCheckUtils]: 11: Hoare triple {16466#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {16466#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-14 00:05:59,848 INFO L281 TraceCheckUtils]: 12: Hoare triple {16466#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {16466#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-14 00:05:59,849 INFO L281 TraceCheckUtils]: 13: Hoare triple {16466#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {16466#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-14 00:05:59,849 INFO L281 TraceCheckUtils]: 14: Hoare triple {16466#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {16466#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-14 00:05:59,849 INFO L281 TraceCheckUtils]: 15: Hoare triple {16466#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {16466#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-14 00:05:59,849 INFO L281 TraceCheckUtils]: 16: Hoare triple {16466#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {16466#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} is VALID [2021-09-14 00:05:59,850 INFO L281 TraceCheckUtils]: 17: Hoare triple {16466#(exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32)))))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {16497#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:59,850 INFO L281 TraceCheckUtils]: 18: Hoare triple {16497#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {16497#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:59,851 INFO L281 TraceCheckUtils]: 19: Hoare triple {16497#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {16497#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:59,851 INFO L281 TraceCheckUtils]: 20: Hoare triple {16497#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {16497#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:59,851 INFO L281 TraceCheckUtils]: 21: Hoare triple {16497#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {16510#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} is VALID [2021-09-14 00:05:59,852 INFO L281 TraceCheckUtils]: 22: Hoare triple {16510#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} assume !~bvsgt32(~len, 1bv32); {16510#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} is VALID [2021-09-14 00:05:59,852 INFO L281 TraceCheckUtils]: 23: Hoare triple {16510#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {16510#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} is VALID [2021-09-14 00:05:59,853 INFO L281 TraceCheckUtils]: 24: Hoare triple {16510#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {16510#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} is VALID [2021-09-14 00:05:59,853 INFO L281 TraceCheckUtils]: 25: Hoare triple {16510#(and (bvult dll_circular_create_~head~0.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {16523#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult |dll_circular_create_#res.base| |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:59,854 INFO L281 TraceCheckUtils]: 26: Hoare triple {16523#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult |dll_circular_create_#res.base| |#StackHeapBarrier|))} assume true; {16523#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult |dll_circular_create_#res.base| |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:59,854 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {16523#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult |dll_circular_create_#res.base| |#StackHeapBarrier|))} {16447#(bvult (_ bv0 32) |#StackHeapBarrier|)} #219#return; {16530#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult |main_#t~ret12.base| |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:59,854 INFO L281 TraceCheckUtils]: 28: Hoare triple {16530#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult |main_#t~ret12.base| |#StackHeapBarrier|))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {16534#(and (bvult main_~head~1.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} is VALID [2021-09-14 00:05:59,855 INFO L264 TraceCheckUtils]: 29: Hoare triple {16534#(and (bvult main_~head~1.base |#StackHeapBarrier|) (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {16538#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult |_destroy_in_nondeterministic_order_#in~head.base| |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:59,855 INFO L281 TraceCheckUtils]: 30: Hoare triple {16538#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult |_destroy_in_nondeterministic_order_#in~head.base| |#StackHeapBarrier|))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {16542#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:59,856 INFO L281 TraceCheckUtils]: 31: Hoare triple {16542#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {16542#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:59,856 INFO L281 TraceCheckUtils]: 32: Hoare triple {16542#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {16542#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:59,856 INFO L281 TraceCheckUtils]: 33: Hoare triple {16542#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {16542#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:59,857 INFO L281 TraceCheckUtils]: 34: Hoare triple {16542#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {16542#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:59,857 INFO L281 TraceCheckUtils]: 35: Hoare triple {16542#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} assume !(0bv32 != #t~nondet7);havoc #t~nondet7; {16542#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:59,858 INFO L281 TraceCheckUtils]: 36: Hoare triple {16542#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} assume 0bv32 != #t~nondet9;havoc #t~nondet9; {16542#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:59,858 INFO L281 TraceCheckUtils]: 37: Hoare triple {16542#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} assume 0bv32 == ~succ~0.offset; {16542#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:59,858 INFO L281 TraceCheckUtils]: 38: Hoare triple {16542#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} assume ~bvult32(~succ~0.base, #StackHeapBarrier); {16542#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:59,859 INFO L281 TraceCheckUtils]: 39: Hoare triple {16542#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} assume 0bv32 == ~succ~0.base || 1bv1 == #valid[~succ~0.base];call ULTIMATE.dealloc(~succ~0.base, ~succ~0.offset); {16542#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:59,859 INFO L281 TraceCheckUtils]: 40: Hoare triple {16542#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} assume 0bv32 != #t~nondet10;havoc #t~nondet10; {16542#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:59,859 INFO L281 TraceCheckUtils]: 41: Hoare triple {16542#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} assume 0bv32 == ~head.offset; {16542#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} is VALID [2021-09-14 00:05:59,859 INFO L281 TraceCheckUtils]: 42: Hoare triple {16542#(and (exists ((dll_circular_create_~last~0.base (_ BitVec 32))) (and (bvult dll_circular_create_~last~0.base |#StackHeapBarrier|) (not (= dll_circular_create_~last~0.base (_ bv0 32))))) (bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|))} assume !~bvult32(~head.base, #StackHeapBarrier); {16440#false} is VALID [2021-09-14 00:05:59,860 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2021-09-14 00:05:59,860 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-14 00:06:00,355 INFO L281 TraceCheckUtils]: 42: Hoare triple {16579#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} assume !~bvult32(~head.base, #StackHeapBarrier); {16440#false} is VALID [2021-09-14 00:06:00,356 INFO L281 TraceCheckUtils]: 41: Hoare triple {16579#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} assume 0bv32 == ~head.offset; {16579#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:06:00,356 INFO L281 TraceCheckUtils]: 40: Hoare triple {16579#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} assume 0bv32 != #t~nondet10;havoc #t~nondet10; {16579#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:06:00,356 INFO L281 TraceCheckUtils]: 39: Hoare triple {16579#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} assume 0bv32 == ~succ~0.base || 1bv1 == #valid[~succ~0.base];call ULTIMATE.dealloc(~succ~0.base, ~succ~0.offset); {16579#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:06:00,356 INFO L281 TraceCheckUtils]: 38: Hoare triple {16579#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} assume ~bvult32(~succ~0.base, #StackHeapBarrier); {16579#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:06:00,357 INFO L281 TraceCheckUtils]: 37: Hoare triple {16579#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} assume 0bv32 == ~succ~0.offset; {16579#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:06:00,357 INFO L281 TraceCheckUtils]: 36: Hoare triple {16579#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} assume 0bv32 != #t~nondet9;havoc #t~nondet9; {16579#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:06:00,357 INFO L281 TraceCheckUtils]: 35: Hoare triple {16579#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} assume !(0bv32 != #t~nondet7);havoc #t~nondet7; {16579#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:06:00,357 INFO L281 TraceCheckUtils]: 34: Hoare triple {16579#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {16579#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:06:00,358 INFO L281 TraceCheckUtils]: 33: Hoare triple {16579#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {16579#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:06:00,358 INFO L281 TraceCheckUtils]: 32: Hoare triple {16579#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {16579#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:06:00,358 INFO L281 TraceCheckUtils]: 31: Hoare triple {16579#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {16579#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:06:00,358 INFO L281 TraceCheckUtils]: 30: Hoare triple {16616#(bvult |_destroy_in_nondeterministic_order_#in~head.base| |#StackHeapBarrier|)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {16579#(bvult _destroy_in_nondeterministic_order_~head.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:06:00,359 INFO L264 TraceCheckUtils]: 29: Hoare triple {16620#(bvult main_~head~1.base |#StackHeapBarrier|)} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {16616#(bvult |_destroy_in_nondeterministic_order_#in~head.base| |#StackHeapBarrier|)} is VALID [2021-09-14 00:06:00,359 INFO L281 TraceCheckUtils]: 28: Hoare triple {16624#(bvult |main_#t~ret12.base| |#StackHeapBarrier|)} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {16620#(bvult main_~head~1.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:06:00,359 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {16631#(bvult |dll_circular_create_#res.base| |#StackHeapBarrier|)} {16439#true} #219#return; {16624#(bvult |main_#t~ret12.base| |#StackHeapBarrier|)} is VALID [2021-09-14 00:06:00,360 INFO L281 TraceCheckUtils]: 26: Hoare triple {16631#(bvult |dll_circular_create_#res.base| |#StackHeapBarrier|)} assume true; {16631#(bvult |dll_circular_create_#res.base| |#StackHeapBarrier|)} is VALID [2021-09-14 00:06:00,360 INFO L281 TraceCheckUtils]: 25: Hoare triple {16638#(bvult dll_circular_create_~head~0.base |#StackHeapBarrier|)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {16631#(bvult |dll_circular_create_#res.base| |#StackHeapBarrier|)} is VALID [2021-09-14 00:06:00,360 INFO L281 TraceCheckUtils]: 24: Hoare triple {16638#(bvult dll_circular_create_~head~0.base |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {16638#(bvult dll_circular_create_~head~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:06:00,360 INFO L281 TraceCheckUtils]: 23: Hoare triple {16638#(bvult dll_circular_create_~head~0.base |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {16638#(bvult dll_circular_create_~head~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:06:00,361 INFO L281 TraceCheckUtils]: 22: Hoare triple {16638#(bvult dll_circular_create_~head~0.base |#StackHeapBarrier|)} assume !~bvsgt32(~len, 1bv32); {16638#(bvult dll_circular_create_~head~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:06:00,361 INFO L281 TraceCheckUtils]: 21: Hoare triple {16651#(bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {16638#(bvult dll_circular_create_~head~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:06:00,361 INFO L281 TraceCheckUtils]: 20: Hoare triple {16651#(bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {16651#(bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:06:00,361 INFO L281 TraceCheckUtils]: 19: Hoare triple {16651#(bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {16651#(bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:06:00,362 INFO L281 TraceCheckUtils]: 18: Hoare triple {16651#(bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {16651#(bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:06:00,362 INFO L281 TraceCheckUtils]: 17: Hoare triple {16439#true} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {16651#(bvult dll_circular_create_~new_head~0.base |#StackHeapBarrier|)} is VALID [2021-09-14 00:06:00,362 INFO L281 TraceCheckUtils]: 16: Hoare triple {16439#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {16439#true} is VALID [2021-09-14 00:06:00,362 INFO L281 TraceCheckUtils]: 15: Hoare triple {16439#true} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {16439#true} is VALID [2021-09-14 00:06:00,362 INFO L281 TraceCheckUtils]: 14: Hoare triple {16439#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {16439#true} is VALID [2021-09-14 00:06:00,362 INFO L281 TraceCheckUtils]: 13: Hoare triple {16439#true} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {16439#true} is VALID [2021-09-14 00:06:00,362 INFO L281 TraceCheckUtils]: 12: Hoare triple {16439#true} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {16439#true} is VALID [2021-09-14 00:06:00,363 INFO L281 TraceCheckUtils]: 11: Hoare triple {16439#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {16439#true} is VALID [2021-09-14 00:06:00,363 INFO L281 TraceCheckUtils]: 10: Hoare triple {16439#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {16439#true} is VALID [2021-09-14 00:06:00,363 INFO L281 TraceCheckUtils]: 9: Hoare triple {16439#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {16439#true} is VALID [2021-09-14 00:06:00,363 INFO L281 TraceCheckUtils]: 8: Hoare triple {16439#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {16439#true} is VALID [2021-09-14 00:06:00,363 INFO L281 TraceCheckUtils]: 7: Hoare triple {16439#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {16439#true} is VALID [2021-09-14 00:06:00,363 INFO L264 TraceCheckUtils]: 6: Hoare triple {16439#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {16439#true} is VALID [2021-09-14 00:06:00,363 INFO L281 TraceCheckUtils]: 5: Hoare triple {16439#true} ~len~0 := 3bv32; {16439#true} is VALID [2021-09-14 00:06:00,363 INFO L264 TraceCheckUtils]: 4: Hoare triple {16439#true} call #t~ret13 := main(); {16439#true} is VALID [2021-09-14 00:06:00,363 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {16439#true} {16439#true} #223#return; {16439#true} is VALID [2021-09-14 00:06:00,364 INFO L281 TraceCheckUtils]: 2: Hoare triple {16439#true} assume true; {16439#true} is VALID [2021-09-14 00:06:00,364 INFO L281 TraceCheckUtils]: 1: Hoare triple {16439#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {16439#true} is VALID [2021-09-14 00:06:00,364 INFO L264 TraceCheckUtils]: 0: Hoare triple {16439#true} call ULTIMATE.init(); {16439#true} is VALID [2021-09-14 00:06:00,364 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2021-09-14 00:06:00,364 INFO L139 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2021-09-14 00:06:00,369 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [2119776982] [2021-09-14 00:06:00,369 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleMathsat [2119776982] provided 2 perfect and 0 imperfect interpolant sequences [2021-09-14 00:06:00,369 INFO L186 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2021-09-14 00:06:00,370 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10, 8] imperfect sequences [] total 17 [2021-09-14 00:06:00,370 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [13953495] [2021-09-14 00:06:00,371 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 15 states have (on average 4.933333333333334) internal successors, (74), 14 states have internal predecessors, (74), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 43 [2021-09-14 00:06:00,371 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-14 00:06:00,371 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 18 states, 15 states have (on average 4.933333333333334) internal successors, (74), 14 states have internal predecessors, (74), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2021-09-14 00:06:00,569 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-14 00:06:00,569 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2021-09-14 00:06:00,569 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2021-09-14 00:06:00,569 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2021-09-14 00:06:00,570 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=244, Unknown=0, NotChecked=0, Total=306 [2021-09-14 00:06:00,570 INFO L87 Difference]: Start difference. First operand 100 states and 105 transitions. Second operand has 18 states, 15 states have (on average 4.933333333333334) internal successors, (74), 14 states have internal predecessors, (74), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2021-09-14 00:06:01,086 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:06:01,086 INFO L93 Difference]: Finished difference Result 99 states and 104 transitions. [2021-09-14 00:06:01,086 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2021-09-14 00:06:01,086 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 15 states have (on average 4.933333333333334) internal successors, (74), 14 states have internal predecessors, (74), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 43 [2021-09-14 00:06:01,086 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-14 00:06:01,086 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 15 states have (on average 4.933333333333334) internal successors, (74), 14 states have internal predecessors, (74), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2021-09-14 00:06:01,088 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 100 transitions. [2021-09-14 00:06:01,088 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 15 states have (on average 4.933333333333334) internal successors, (74), 14 states have internal predecessors, (74), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2021-09-14 00:06:01,088 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 100 transitions. [2021-09-14 00:06:01,088 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 100 transitions. [2021-09-14 00:06:01,256 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-14 00:06:01,281 INFO L225 Difference]: With dead ends: 99 [2021-09-14 00:06:01,281 INFO L226 Difference]: Without dead ends: 99 [2021-09-14 00:06:01,281 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 85 GetRequests, 69 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 70 ImplicationChecksByTransitivity, 469.75ms TimeCoverageRelationStatistics Valid=62, Invalid=244, Unknown=0, NotChecked=0, Total=306 [2021-09-14 00:06:01,282 INFO L928 BasicCegarLoop]: 7 mSDtfsCounter, 0 mSDsluCounter, 177 mSDsCounter, 0 mSdLazyCounter, 153 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 242.24ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 10 SdHoareTripleChecker+Invalid, 259 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.98ms SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 153 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 106 IncrementalHoareTripleChecker+Unchecked, 243.47ms IncrementalHoareTripleChecker+Time [2021-09-14 00:06:01,282 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 10 Invalid, 259 Unknown, 0 Unchecked, 0.98ms Time], IncrementalHoareTripleChecker [0 Valid, 153 Invalid, 0 Unknown, 106 Unchecked, 243.47ms Time] [2021-09-14 00:06:01,283 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 99 states. [2021-09-14 00:06:01,285 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 99 to 99. [2021-09-14 00:06:01,285 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-14 00:06:01,285 INFO L82 GeneralOperation]: Start isEquivalent. First operand 99 states. Second operand has 99 states, 79 states have (on average 1.2278481012658229) internal successors, (97), 91 states have internal predecessors, (97), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:06:01,285 INFO L74 IsIncluded]: Start isIncluded. First operand 99 states. Second operand has 99 states, 79 states have (on average 1.2278481012658229) internal successors, (97), 91 states have internal predecessors, (97), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:06:01,285 INFO L87 Difference]: Start difference. First operand 99 states. Second operand has 99 states, 79 states have (on average 1.2278481012658229) internal successors, (97), 91 states have internal predecessors, (97), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:06:01,286 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:06:01,286 INFO L93 Difference]: Finished difference Result 99 states and 104 transitions. [2021-09-14 00:06:01,286 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 104 transitions. [2021-09-14 00:06:01,287 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-14 00:06:01,287 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-14 00:06:01,287 INFO L74 IsIncluded]: Start isIncluded. First operand has 99 states, 79 states have (on average 1.2278481012658229) internal successors, (97), 91 states have internal predecessors, (97), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 99 states. [2021-09-14 00:06:01,287 INFO L87 Difference]: Start difference. First operand has 99 states, 79 states have (on average 1.2278481012658229) internal successors, (97), 91 states have internal predecessors, (97), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 99 states. [2021-09-14 00:06:01,288 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:06:01,288 INFO L93 Difference]: Finished difference Result 99 states and 104 transitions. [2021-09-14 00:06:01,288 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 104 transitions. [2021-09-14 00:06:01,288 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-14 00:06:01,289 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-14 00:06:01,289 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-14 00:06:01,289 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-14 00:06:01,289 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 99 states, 79 states have (on average 1.2278481012658229) internal successors, (97), 91 states have internal predecessors, (97), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:06:01,290 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 104 transitions. [2021-09-14 00:06:01,290 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 104 transitions. Word has length 43 [2021-09-14 00:06:01,290 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-14 00:06:01,290 INFO L470 AbstractCegarLoop]: Abstraction has 99 states and 104 transitions. [2021-09-14 00:06:01,290 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 15 states have (on average 4.933333333333334) internal successors, (74), 14 states have internal predecessors, (74), 4 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2021-09-14 00:06:01,290 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 104 transitions. [2021-09-14 00:06:01,291 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2021-09-14 00:06:01,291 INFO L505 BasicCegarLoop]: Found error trace [2021-09-14 00:06:01,291 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-14 00:06:01,316 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (25)] Forceful destruction successful, exit code 0 [2021-09-14 00:06:01,491 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 25 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-09-14 00:06:01,491 INFO L402 AbstractCegarLoop]: === Iteration 25 === Targeting _destroy_in_nondeterministic_orderErr45ASSERT_VIOLATIONMEMORY_FREE === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-14 00:06:01,492 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-14 00:06:01,492 INFO L82 PathProgramCache]: Analyzing trace with hash 1781548922, now seen corresponding path program 1 times [2021-09-14 00:06:01,492 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-09-14 00:06:01,492 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1061356470] [2021-09-14 00:06:01,492 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-14 00:06:01,492 INFO L170 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-09-14 00:06:01,492 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-09-14 00:06:01,493 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2021-09-14 00:06:01,502 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (26)] Waiting until timeout for monitored process [2021-09-14 00:06:01,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-14 00:06:01,623 INFO L263 TraceCheckSpWp]: Trace formula consists of 158 conjuncts, 25 conjunts are in the unsatisfiable core [2021-09-14 00:06:01,633 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-14 00:06:01,634 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-14 00:06:01,762 INFO L354 Elim1Store]: treesize reduction 15, result has 46.4 percent of original size [2021-09-14 00:06:01,762 INFO L388 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 24 treesize of output 31 [2021-09-14 00:06:02,037 INFO L388 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 25 [2021-09-14 00:06:02,503 INFO L388 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 41 treesize of output 29 [2021-09-14 00:06:02,809 INFO L354 Elim1Store]: treesize reduction 20, result has 28.6 percent of original size [2021-09-14 00:06:02,809 INFO L388 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 50 treesize of output 53 [2021-09-14 00:06:03,058 INFO L264 TraceCheckUtils]: 0: Hoare triple {17110#true} call ULTIMATE.init(); {17110#true} is VALID [2021-09-14 00:06:03,058 INFO L281 TraceCheckUtils]: 1: Hoare triple {17110#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {17110#true} is VALID [2021-09-14 00:06:03,058 INFO L281 TraceCheckUtils]: 2: Hoare triple {17110#true} assume true; {17110#true} is VALID [2021-09-14 00:06:03,058 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {17110#true} {17110#true} #223#return; {17110#true} is VALID [2021-09-14 00:06:03,058 INFO L264 TraceCheckUtils]: 4: Hoare triple {17110#true} call #t~ret13 := main(); {17110#true} is VALID [2021-09-14 00:06:03,058 INFO L281 TraceCheckUtils]: 5: Hoare triple {17110#true} ~len~0 := 3bv32; {17110#true} is VALID [2021-09-14 00:06:03,059 INFO L264 TraceCheckUtils]: 6: Hoare triple {17110#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {17110#true} is VALID [2021-09-14 00:06:03,059 INFO L281 TraceCheckUtils]: 7: Hoare triple {17110#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {17110#true} is VALID [2021-09-14 00:06:03,059 INFO L281 TraceCheckUtils]: 8: Hoare triple {17110#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {17110#true} is VALID [2021-09-14 00:06:03,059 INFO L281 TraceCheckUtils]: 9: Hoare triple {17110#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {17110#true} is VALID [2021-09-14 00:06:03,059 INFO L281 TraceCheckUtils]: 10: Hoare triple {17110#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {17110#true} is VALID [2021-09-14 00:06:03,059 INFO L281 TraceCheckUtils]: 11: Hoare triple {17110#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {17148#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} is VALID [2021-09-14 00:06:03,060 INFO L281 TraceCheckUtils]: 12: Hoare triple {17148#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {17148#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} is VALID [2021-09-14 00:06:03,060 INFO L281 TraceCheckUtils]: 13: Hoare triple {17148#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {17148#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} is VALID [2021-09-14 00:06:03,060 INFO L281 TraceCheckUtils]: 14: Hoare triple {17148#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {17148#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} is VALID [2021-09-14 00:06:03,061 INFO L281 TraceCheckUtils]: 15: Hoare triple {17148#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {17161#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} is VALID [2021-09-14 00:06:03,061 INFO L281 TraceCheckUtils]: 16: Hoare triple {17161#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {17161#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} is VALID [2021-09-14 00:06:03,062 INFO L281 TraceCheckUtils]: 17: Hoare triple {17161#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {17168#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:06:03,063 INFO L281 TraceCheckUtils]: 18: Hoare triple {17168#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {17168#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:06:03,063 INFO L281 TraceCheckUtils]: 19: Hoare triple {17168#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {17168#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:06:03,064 INFO L281 TraceCheckUtils]: 20: Hoare triple {17168#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {17168#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:06:03,064 INFO L281 TraceCheckUtils]: 21: Hoare triple {17168#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {17181#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:06:03,065 INFO L281 TraceCheckUtils]: 22: Hoare triple {17181#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)))} assume !~bvsgt32(~len, 1bv32); {17181#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:06:03,065 INFO L281 TraceCheckUtils]: 23: Hoare triple {17181#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {17181#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:06:03,066 INFO L281 TraceCheckUtils]: 24: Hoare triple {17181#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (select |#valid| dll_circular_create_~last~0.base))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {17191#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))))))))) (_ bv1 1))))} is VALID [2021-09-14 00:06:03,067 INFO L281 TraceCheckUtils]: 25: Hoare triple {17191#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))))))))) (_ bv1 1))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {17195#(and (= |dll_circular_create_#res.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |dll_circular_create_#res.base|)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| |dll_circular_create_#res.base|)))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))))))))))) (_ bv1 1))))} is VALID [2021-09-14 00:06:03,068 INFO L281 TraceCheckUtils]: 26: Hoare triple {17195#(and (= |dll_circular_create_#res.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |dll_circular_create_#res.base|)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| |dll_circular_create_#res.base|)))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))))))))))) (_ bv1 1))))} assume true; {17195#(and (= |dll_circular_create_#res.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |dll_circular_create_#res.base|)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| |dll_circular_create_#res.base|)))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))))))))))) (_ bv1 1))))} is VALID [2021-09-14 00:06:03,069 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {17195#(and (= |dll_circular_create_#res.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |dll_circular_create_#res.base|)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| |dll_circular_create_#res.base|)))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))))))))))) (_ bv1 1))))} {17110#true} #219#return; {17202#(and (= |main_#t~ret12.offset| (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (bvadd (_ bv4 32) |main_#t~ret12.offset|)))))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |main_#t~ret12.base|)))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (bvadd (_ bv4 32) |main_#t~ret12.offset|)) |main_#t~ret12.base|)))} is VALID [2021-09-14 00:06:03,069 INFO L281 TraceCheckUtils]: 28: Hoare triple {17202#(and (= |main_#t~ret12.offset| (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (bvadd (_ bv4 32) |main_#t~ret12.offset|)))))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |main_#t~ret12.base|)))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (bvadd (_ bv4 32) |main_#t~ret12.offset|)) |main_#t~ret12.base|)))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {17206#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| main_~head~1.base))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32)))))))))))))) (_ bv1 1))) (= main_~head~1.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32)) main_~head~1.base)))} is VALID [2021-09-14 00:06:03,070 INFO L264 TraceCheckUtils]: 29: Hoare triple {17206#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| main_~head~1.base))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32)))))))))))))) (_ bv1 1))) (= main_~head~1.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32)) main_~head~1.base)))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {17210#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |_destroy_in_nondeterministic_order_#in~head.base|)))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32))))))))))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32)) |_destroy_in_nondeterministic_order_#in~head.base|)) (= |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv0 32)))} is VALID [2021-09-14 00:06:03,071 INFO L281 TraceCheckUtils]: 30: Hoare triple {17210#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |_destroy_in_nondeterministic_order_#in~head.base|)))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32))))))))))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32)) |_destroy_in_nondeterministic_order_#in~head.base|)) (= |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv0 32)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {17214#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))))))))))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)))} is VALID [2021-09-14 00:06:03,071 INFO L281 TraceCheckUtils]: 31: Hoare triple {17214#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))))))))))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {17218#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (not (= |_destroy_in_nondeterministic_order_#t~mem5.base| _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |_destroy_in_nondeterministic_order_#t~mem5.base|))))))))))))))) (_ bv1 1))))} is VALID [2021-09-14 00:06:03,072 INFO L281 TraceCheckUtils]: 32: Hoare triple {17218#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (not (= |_destroy_in_nondeterministic_order_#t~mem5.base| _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |_destroy_in_nondeterministic_order_#t~mem5.base|))))))))))))))) (_ bv1 1))))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {17222#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))))))))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))} is VALID [2021-09-14 00:06:03,072 INFO L281 TraceCheckUtils]: 33: Hoare triple {17222#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))))))))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {17222#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))))))))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))} is VALID [2021-09-14 00:06:03,073 INFO L281 TraceCheckUtils]: 34: Hoare triple {17222#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))))))))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {17222#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))))))))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))} is VALID [2021-09-14 00:06:03,073 INFO L281 TraceCheckUtils]: 35: Hoare triple {17222#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))))))))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))} assume !(0bv32 != #t~nondet7);havoc #t~nondet7; {17222#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))))))))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))} is VALID [2021-09-14 00:06:03,074 INFO L281 TraceCheckUtils]: 36: Hoare triple {17222#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))))))))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))} assume !(0bv32 != #t~nondet9);havoc #t~nondet9; {17222#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))))))))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))} is VALID [2021-09-14 00:06:03,074 INFO L281 TraceCheckUtils]: 37: Hoare triple {17222#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))))))))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))} assume 0bv32 == ~pred~0.offset; {17222#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))))))))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))} is VALID [2021-09-14 00:06:03,075 INFO L281 TraceCheckUtils]: 38: Hoare triple {17222#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))))))))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))} assume ~bvult32(~pred~0.base, #StackHeapBarrier); {17222#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))))))))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))} is VALID [2021-09-14 00:06:03,078 INFO L281 TraceCheckUtils]: 39: Hoare triple {17222#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))))))))))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))} assume 0bv32 == ~pred~0.base || 1bv1 == #valid[~pred~0.base];call ULTIMATE.dealloc(~pred~0.base, ~pred~0.offset); {17244#(and (exists ((_destroy_in_nondeterministic_order_~pred~0.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))) (exists ((v_arrayElimCell_96 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| _destroy_in_nondeterministic_order_~head.base) (bvneg v_arrayElimCell_96))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_96))))))))))) (_ bv1 1))))))} is VALID [2021-09-14 00:06:03,079 INFO L281 TraceCheckUtils]: 40: Hoare triple {17244#(and (exists ((_destroy_in_nondeterministic_order_~pred~0.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))) (exists ((v_arrayElimCell_96 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| _destroy_in_nondeterministic_order_~head.base) (bvneg v_arrayElimCell_96))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_96))))))))))) (_ bv1 1))))))} assume !(0bv32 != #t~nondet11);havoc #t~nondet11; {17244#(and (exists ((_destroy_in_nondeterministic_order_~pred~0.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))) (exists ((v_arrayElimCell_96 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| _destroy_in_nondeterministic_order_~head.base) (bvneg v_arrayElimCell_96))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_96))))))))))) (_ bv1 1))))))} is VALID [2021-09-14 00:06:03,079 INFO L281 TraceCheckUtils]: 41: Hoare triple {17244#(and (exists ((_destroy_in_nondeterministic_order_~pred~0.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))) (exists ((v_arrayElimCell_96 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| _destroy_in_nondeterministic_order_~head.base) (bvneg v_arrayElimCell_96))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_96))))))))))) (_ bv1 1))))))} assume 0bv32 == ~head.offset; {17244#(and (exists ((_destroy_in_nondeterministic_order_~pred~0.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))) (exists ((v_arrayElimCell_96 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| _destroy_in_nondeterministic_order_~head.base) (bvneg v_arrayElimCell_96))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_96))))))))))) (_ bv1 1))))))} is VALID [2021-09-14 00:06:03,080 INFO L281 TraceCheckUtils]: 42: Hoare triple {17244#(and (exists ((_destroy_in_nondeterministic_order_~pred~0.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))) (exists ((v_arrayElimCell_96 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| _destroy_in_nondeterministic_order_~head.base) (bvneg v_arrayElimCell_96))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_96))))))))))) (_ bv1 1))))))} assume ~bvult32(~head.base, #StackHeapBarrier); {17244#(and (exists ((_destroy_in_nondeterministic_order_~pred~0.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))) (exists ((v_arrayElimCell_96 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| _destroy_in_nondeterministic_order_~head.base) (bvneg v_arrayElimCell_96))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_96))))))))))) (_ bv1 1))))))} is VALID [2021-09-14 00:06:03,081 INFO L281 TraceCheckUtils]: 43: Hoare triple {17244#(and (exists ((_destroy_in_nondeterministic_order_~pred~0.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))) (exists ((v_arrayElimCell_96 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| _destroy_in_nondeterministic_order_~head.base) (bvneg v_arrayElimCell_96))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_96))))))))))) (_ bv1 1))))))} assume !(0bv32 == ~head.base || 1bv1 == #valid[~head.base]); {17111#false} is VALID [2021-09-14 00:06:03,081 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 2 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-14 00:06:03,081 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-14 00:06:10,325 INFO L354 Elim1Store]: treesize reduction 5, result has 37.5 percent of original size [2021-09-14 00:06:10,326 INFO L388 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 19 treesize of output 18 [2021-09-14 00:06:10,383 INFO L281 TraceCheckUtils]: 43: Hoare triple {17257#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} assume !(0bv32 == ~head.base || 1bv1 == #valid[~head.base]); {17111#false} is VALID [2021-09-14 00:06:10,384 INFO L281 TraceCheckUtils]: 42: Hoare triple {17257#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} assume ~bvult32(~head.base, #StackHeapBarrier); {17257#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} is VALID [2021-09-14 00:06:10,384 INFO L281 TraceCheckUtils]: 41: Hoare triple {17257#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} assume 0bv32 == ~head.offset; {17257#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} is VALID [2021-09-14 00:06:10,385 INFO L281 TraceCheckUtils]: 40: Hoare triple {17257#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} assume !(0bv32 != #t~nondet11);havoc #t~nondet11; {17257#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} is VALID [2021-09-14 00:06:10,385 INFO L281 TraceCheckUtils]: 39: Hoare triple {17270#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} assume 0bv32 == ~pred~0.base || 1bv1 == #valid[~pred~0.base];call ULTIMATE.dealloc(~pred~0.base, ~pred~0.offset); {17257#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} is VALID [2021-09-14 00:06:10,385 INFO L281 TraceCheckUtils]: 38: Hoare triple {17270#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} assume ~bvult32(~pred~0.base, #StackHeapBarrier); {17270#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} is VALID [2021-09-14 00:06:10,386 INFO L281 TraceCheckUtils]: 37: Hoare triple {17270#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} assume 0bv32 == ~pred~0.offset; {17270#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} is VALID [2021-09-14 00:06:10,386 INFO L281 TraceCheckUtils]: 36: Hoare triple {17270#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} assume !(0bv32 != #t~nondet9);havoc #t~nondet9; {17270#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} is VALID [2021-09-14 00:06:10,386 INFO L281 TraceCheckUtils]: 35: Hoare triple {17270#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} assume !(0bv32 != #t~nondet7);havoc #t~nondet7; {17270#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} is VALID [2021-09-14 00:06:10,387 INFO L281 TraceCheckUtils]: 34: Hoare triple {17270#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {17270#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} is VALID [2021-09-14 00:06:10,387 INFO L281 TraceCheckUtils]: 33: Hoare triple {17270#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {17270#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} is VALID [2021-09-14 00:06:10,387 INFO L281 TraceCheckUtils]: 32: Hoare triple {17292#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select (store |#valid| |_destroy_in_nondeterministic_order_#t~mem5.base| (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base)))) (_ bv1 1)))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {17270#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} is VALID [2021-09-14 00:06:10,388 INFO L281 TraceCheckUtils]: 31: Hoare triple {17296#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (select (store |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset)) (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))))))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {17292#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select (store |#valid| |_destroy_in_nondeterministic_order_#t~mem5.base| (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base)))) (_ bv1 1)))} is VALID [2021-09-14 00:06:10,388 INFO L281 TraceCheckUtils]: 30: Hoare triple {17300#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select (store |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (bvadd |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv4 32))) (_ bv0 1)) |_destroy_in_nondeterministic_order_#in~head.base|)))) (_ bv1 1)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {17296#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (select (store |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset)) (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))))))} is VALID [2021-09-14 00:06:10,389 INFO L264 TraceCheckUtils]: 29: Hoare triple {17304#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) (bvadd (_ bv4 32) main_~head~1.offset)) (_ bv0 1)) main_~head~1.base)))))) (_ bv1 1)))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {17300#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select (store |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (bvadd |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv4 32))) (_ bv0 1)) |_destroy_in_nondeterministic_order_#in~head.base|)))) (_ bv1 1)))} is VALID [2021-09-14 00:06:10,389 INFO L281 TraceCheckUtils]: 28: Hoare triple {17308#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (bvadd (_ bv4 32) |main_#t~ret12.offset|)) (_ bv0 1)) |main_#t~ret12.base|)))))) (_ bv1 1)))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {17304#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) (bvadd (_ bv4 32) main_~head~1.offset)) (_ bv0 1)) main_~head~1.base)))))) (_ bv1 1)))} is VALID [2021-09-14 00:06:10,390 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {17315#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) (_ bv0 1)) |dll_circular_create_#res.base|)))))) (_ bv1 1)))} {17110#true} #219#return; {17308#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (bvadd (_ bv4 32) |main_#t~ret12.offset|)) (_ bv0 1)) |main_#t~ret12.base|)))))) (_ bv1 1)))} is VALID [2021-09-14 00:06:10,391 INFO L281 TraceCheckUtils]: 26: Hoare triple {17315#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) (_ bv0 1)) |dll_circular_create_#res.base|)))))) (_ bv1 1)))} assume true; {17315#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) (_ bv0 1)) |dll_circular_create_#res.base|)))))) (_ bv1 1)))} is VALID [2021-09-14 00:06:10,391 INFO L281 TraceCheckUtils]: 25: Hoare triple {17322#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) (_ bv0 1)) dll_circular_create_~head~0.base)))))) (_ bv1 1)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {17315#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) (_ bv0 1)) |dll_circular_create_#res.base|)))))) (_ bv1 1)))} is VALID [2021-09-14 00:06:10,393 INFO L281 TraceCheckUtils]: 24: Hoare triple {17326#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~last~0.base (_ bv0 1)) dll_circular_create_~head~0.base))))))))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {17322#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) (_ bv0 1)) dll_circular_create_~head~0.base)))))) (_ bv1 1)))} is VALID [2021-09-14 00:06:10,393 INFO L281 TraceCheckUtils]: 23: Hoare triple {17326#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~last~0.base (_ bv0 1)) dll_circular_create_~head~0.base))))))))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {17326#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~last~0.base (_ bv0 1)) dll_circular_create_~head~0.base))))))))))} is VALID [2021-09-14 00:06:10,393 INFO L281 TraceCheckUtils]: 22: Hoare triple {17326#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~last~0.base (_ bv0 1)) dll_circular_create_~head~0.base))))))))))} assume !~bvsgt32(~len, 1bv32); {17326#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~last~0.base (_ bv0 1)) dll_circular_create_~head~0.base))))))))))} is VALID [2021-09-14 00:06:10,394 INFO L281 TraceCheckUtils]: 21: Hoare triple {17336#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~last~0.base (_ bv0 1)) dll_circular_create_~new_head~0.base)))))))) (_ bv1 1)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {17326#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~last~0.base (_ bv0 1)) dll_circular_create_~head~0.base))))))))))} is VALID [2021-09-14 00:06:10,394 INFO L281 TraceCheckUtils]: 20: Hoare triple {17336#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~last~0.base (_ bv0 1)) dll_circular_create_~new_head~0.base)))))))) (_ bv1 1)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {17336#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~last~0.base (_ bv0 1)) dll_circular_create_~new_head~0.base)))))))) (_ bv1 1)))} is VALID [2021-09-14 00:06:10,394 INFO L281 TraceCheckUtils]: 19: Hoare triple {17336#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~last~0.base (_ bv0 1)) dll_circular_create_~new_head~0.base)))))))) (_ bv1 1)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {17336#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~last~0.base (_ bv0 1)) dll_circular_create_~new_head~0.base)))))))) (_ bv1 1)))} is VALID [2021-09-14 00:06:10,395 INFO L281 TraceCheckUtils]: 18: Hoare triple {17336#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~last~0.base (_ bv0 1)) dll_circular_create_~new_head~0.base)))))))) (_ bv1 1)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {17336#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~last~0.base (_ bv0 1)) dll_circular_create_~new_head~0.base)))))))) (_ bv1 1)))} is VALID [2021-09-14 00:06:10,396 INFO L281 TraceCheckUtils]: 17: Hoare triple {17161#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {17336#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~last~0.base (_ bv0 1)) dll_circular_create_~new_head~0.base)))))))) (_ bv1 1)))} is VALID [2021-09-14 00:06:10,396 INFO L281 TraceCheckUtils]: 16: Hoare triple {17161#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {17161#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} is VALID [2021-09-14 00:06:10,396 INFO L281 TraceCheckUtils]: 15: Hoare triple {17148#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {17161#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} is VALID [2021-09-14 00:06:10,397 INFO L281 TraceCheckUtils]: 14: Hoare triple {17148#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {17148#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} is VALID [2021-09-14 00:06:10,397 INFO L281 TraceCheckUtils]: 13: Hoare triple {17148#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {17148#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} is VALID [2021-09-14 00:06:10,397 INFO L281 TraceCheckUtils]: 12: Hoare triple {17148#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {17148#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} is VALID [2021-09-14 00:06:10,398 INFO L281 TraceCheckUtils]: 11: Hoare triple {17110#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {17148#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} is VALID [2021-09-14 00:06:10,398 INFO L281 TraceCheckUtils]: 10: Hoare triple {17110#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {17110#true} is VALID [2021-09-14 00:06:10,398 INFO L281 TraceCheckUtils]: 9: Hoare triple {17110#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {17110#true} is VALID [2021-09-14 00:06:10,398 INFO L281 TraceCheckUtils]: 8: Hoare triple {17110#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {17110#true} is VALID [2021-09-14 00:06:10,398 INFO L281 TraceCheckUtils]: 7: Hoare triple {17110#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {17110#true} is VALID [2021-09-14 00:06:10,398 INFO L264 TraceCheckUtils]: 6: Hoare triple {17110#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {17110#true} is VALID [2021-09-14 00:06:10,398 INFO L281 TraceCheckUtils]: 5: Hoare triple {17110#true} ~len~0 := 3bv32; {17110#true} is VALID [2021-09-14 00:06:10,398 INFO L264 TraceCheckUtils]: 4: Hoare triple {17110#true} call #t~ret13 := main(); {17110#true} is VALID [2021-09-14 00:06:10,398 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {17110#true} {17110#true} #223#return; {17110#true} is VALID [2021-09-14 00:06:10,398 INFO L281 TraceCheckUtils]: 2: Hoare triple {17110#true} assume true; {17110#true} is VALID [2021-09-14 00:06:10,398 INFO L281 TraceCheckUtils]: 1: Hoare triple {17110#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {17110#true} is VALID [2021-09-14 00:06:10,398 INFO L264 TraceCheckUtils]: 0: Hoare triple {17110#true} call ULTIMATE.init(); {17110#true} is VALID [2021-09-14 00:06:10,399 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-14 00:06:10,399 INFO L139 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2021-09-14 00:06:10,399 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1061356470] [2021-09-14 00:06:10,399 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1061356470] provided 0 perfect and 2 imperfect interpolant sequences [2021-09-14 00:06:10,399 INFO L186 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2021-09-14 00:06:10,399 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 25 [2021-09-14 00:06:10,399 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [804063] [2021-09-14 00:06:10,399 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 23 states have (on average 2.739130434782609) internal successors, (63), 22 states have internal predecessors, (63), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) Word has length 44 [2021-09-14 00:06:10,399 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-14 00:06:10,400 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 26 states, 23 states have (on average 2.739130434782609) internal successors, (63), 22 states have internal predecessors, (63), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:06:10,480 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-14 00:06:10,480 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2021-09-14 00:06:10,480 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2021-09-14 00:06:10,480 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2021-09-14 00:06:10,480 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=579, Unknown=3, NotChecked=0, Total=650 [2021-09-14 00:06:10,480 INFO L87 Difference]: Start difference. First operand 99 states and 104 transitions. Second operand has 26 states, 23 states have (on average 2.739130434782609) internal successors, (63), 22 states have internal predecessors, (63), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:06:21,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:06:21,310 INFO L93 Difference]: Finished difference Result 98 states and 103 transitions. [2021-09-14 00:06:21,310 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2021-09-14 00:06:21,310 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 23 states have (on average 2.739130434782609) internal successors, (63), 22 states have internal predecessors, (63), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) Word has length 44 [2021-09-14 00:06:21,310 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-14 00:06:21,311 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 23 states have (on average 2.739130434782609) internal successors, (63), 22 states have internal predecessors, (63), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:06:21,311 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 103 transitions. [2021-09-14 00:06:21,311 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 23 states have (on average 2.739130434782609) internal successors, (63), 22 states have internal predecessors, (63), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:06:21,312 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 103 transitions. [2021-09-14 00:06:21,312 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 103 transitions. [2021-09-14 00:06:21,419 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-14 00:06:21,420 INFO L225 Difference]: With dead ends: 98 [2021-09-14 00:06:21,420 INFO L226 Difference]: Without dead ends: 98 [2021-09-14 00:06:21,421 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 97 GetRequests, 62 SyntacticMatches, 1 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 181 ImplicationChecksByTransitivity, 11806.37ms TimeCoverageRelationStatistics Valid=151, Invalid=1106, Unknown=3, NotChecked=0, Total=1260 [2021-09-14 00:06:21,421 INFO L928 BasicCegarLoop]: 7 mSDtfsCounter, 88 mSDsluCounter, 787 mSDsCounter, 0 mSdLazyCounter, 1462 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2856.20ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 88 SdHoareTripleChecker+Valid, 79 SdHoareTripleChecker+Invalid, 1497 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 7.96ms SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 1462 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 20 IncrementalHoareTripleChecker+Unchecked, 2871.34ms IncrementalHoareTripleChecker+Time [2021-09-14 00:06:21,421 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [88 Valid, 79 Invalid, 1497 Unknown, 0 Unchecked, 7.96ms Time], IncrementalHoareTripleChecker [15 Valid, 1462 Invalid, 0 Unknown, 20 Unchecked, 2871.34ms Time] [2021-09-14 00:06:21,421 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2021-09-14 00:06:21,422 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 98. [2021-09-14 00:06:21,422 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-14 00:06:21,422 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand has 98 states, 79 states have (on average 1.2151898734177216) internal successors, (96), 90 states have internal predecessors, (96), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:06:21,423 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand has 98 states, 79 states have (on average 1.2151898734177216) internal successors, (96), 90 states have internal predecessors, (96), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:06:21,423 INFO L87 Difference]: Start difference. First operand 98 states. Second operand has 98 states, 79 states have (on average 1.2151898734177216) internal successors, (96), 90 states have internal predecessors, (96), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:06:21,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:06:21,424 INFO L93 Difference]: Finished difference Result 98 states and 103 transitions. [2021-09-14 00:06:21,424 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 103 transitions. [2021-09-14 00:06:21,424 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-14 00:06:21,424 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-14 00:06:21,424 INFO L74 IsIncluded]: Start isIncluded. First operand has 98 states, 79 states have (on average 1.2151898734177216) internal successors, (96), 90 states have internal predecessors, (96), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 98 states. [2021-09-14 00:06:21,424 INFO L87 Difference]: Start difference. First operand has 98 states, 79 states have (on average 1.2151898734177216) internal successors, (96), 90 states have internal predecessors, (96), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 98 states. [2021-09-14 00:06:21,425 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:06:21,425 INFO L93 Difference]: Finished difference Result 98 states and 103 transitions. [2021-09-14 00:06:21,425 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 103 transitions. [2021-09-14 00:06:21,425 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-14 00:06:21,425 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-14 00:06:21,425 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-14 00:06:21,425 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-14 00:06:21,425 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 98 states, 79 states have (on average 1.2151898734177216) internal successors, (96), 90 states have internal predecessors, (96), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:06:21,426 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 103 transitions. [2021-09-14 00:06:21,426 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 103 transitions. Word has length 44 [2021-09-14 00:06:21,426 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-14 00:06:21,426 INFO L470 AbstractCegarLoop]: Abstraction has 98 states and 103 transitions. [2021-09-14 00:06:21,426 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 26 states, 23 states have (on average 2.739130434782609) internal successors, (63), 22 states have internal predecessors, (63), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:06:21,427 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 103 transitions. [2021-09-14 00:06:21,427 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2021-09-14 00:06:21,427 INFO L505 BasicCegarLoop]: Found error trace [2021-09-14 00:06:21,427 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-14 00:06:21,435 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (26)] Forceful destruction successful, exit code 0 [2021-09-14 00:06:21,634 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 26 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-09-14 00:06:21,635 INFO L402 AbstractCegarLoop]: === Iteration 26 === Targeting _destroy_in_nondeterministic_orderErr39ASSERT_VIOLATIONMEMORY_FREE === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-14 00:06:21,635 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-14 00:06:21,635 INFO L82 PathProgramCache]: Analyzing trace with hash 1781117946, now seen corresponding path program 1 times [2021-09-14 00:06:21,636 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-09-14 00:06:21,636 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [81917574] [2021-09-14 00:06:21,636 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-14 00:06:21,636 INFO L170 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-09-14 00:06:21,636 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-09-14 00:06:21,637 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2021-09-14 00:06:21,638 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (27)] Waiting until timeout for monitored process [2021-09-14 00:06:21,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-14 00:06:21,761 INFO L263 TraceCheckSpWp]: Trace formula consists of 158 conjuncts, 25 conjunts are in the unsatisfiable core [2021-09-14 00:06:21,773 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-14 00:06:21,774 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-14 00:06:21,907 INFO L354 Elim1Store]: treesize reduction 15, result has 46.4 percent of original size [2021-09-14 00:06:21,907 INFO L388 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 21 treesize of output 28 [2021-09-14 00:06:22,235 INFO L388 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 28 [2021-09-14 00:06:22,811 INFO L388 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 54 treesize of output 42 [2021-09-14 00:06:23,206 INFO L354 Elim1Store]: treesize reduction 20, result has 28.6 percent of original size [2021-09-14 00:06:23,206 INFO L388 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 66 treesize of output 69 [2021-09-14 00:06:23,459 INFO L264 TraceCheckUtils]: 0: Hoare triple {17811#true} call ULTIMATE.init(); {17811#true} is VALID [2021-09-14 00:06:23,460 INFO L281 TraceCheckUtils]: 1: Hoare triple {17811#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {17811#true} is VALID [2021-09-14 00:06:23,460 INFO L281 TraceCheckUtils]: 2: Hoare triple {17811#true} assume true; {17811#true} is VALID [2021-09-14 00:06:23,460 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {17811#true} {17811#true} #223#return; {17811#true} is VALID [2021-09-14 00:06:23,460 INFO L264 TraceCheckUtils]: 4: Hoare triple {17811#true} call #t~ret13 := main(); {17811#true} is VALID [2021-09-14 00:06:23,460 INFO L281 TraceCheckUtils]: 5: Hoare triple {17811#true} ~len~0 := 3bv32; {17811#true} is VALID [2021-09-14 00:06:23,460 INFO L264 TraceCheckUtils]: 6: Hoare triple {17811#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {17811#true} is VALID [2021-09-14 00:06:23,460 INFO L281 TraceCheckUtils]: 7: Hoare triple {17811#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {17811#true} is VALID [2021-09-14 00:06:23,460 INFO L281 TraceCheckUtils]: 8: Hoare triple {17811#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {17811#true} is VALID [2021-09-14 00:06:23,460 INFO L281 TraceCheckUtils]: 9: Hoare triple {17811#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {17811#true} is VALID [2021-09-14 00:06:23,460 INFO L281 TraceCheckUtils]: 10: Hoare triple {17811#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {17811#true} is VALID [2021-09-14 00:06:23,461 INFO L281 TraceCheckUtils]: 11: Hoare triple {17811#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {17849#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} is VALID [2021-09-14 00:06:23,461 INFO L281 TraceCheckUtils]: 12: Hoare triple {17849#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {17849#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} is VALID [2021-09-14 00:06:23,461 INFO L281 TraceCheckUtils]: 13: Hoare triple {17849#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {17849#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} is VALID [2021-09-14 00:06:23,462 INFO L281 TraceCheckUtils]: 14: Hoare triple {17849#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {17849#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} is VALID [2021-09-14 00:06:23,462 INFO L281 TraceCheckUtils]: 15: Hoare triple {17849#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {17862#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} is VALID [2021-09-14 00:06:23,462 INFO L281 TraceCheckUtils]: 16: Hoare triple {17862#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {17862#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} is VALID [2021-09-14 00:06:23,467 INFO L281 TraceCheckUtils]: 17: Hoare triple {17862#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {17869#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (select |#valid| dll_circular_create_~last~0.base))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:06:23,467 INFO L281 TraceCheckUtils]: 18: Hoare triple {17869#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (select |#valid| dll_circular_create_~last~0.base))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {17869#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (select |#valid| dll_circular_create_~last~0.base))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:06:23,468 INFO L281 TraceCheckUtils]: 19: Hoare triple {17869#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (select |#valid| dll_circular_create_~last~0.base))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {17869#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (select |#valid| dll_circular_create_~last~0.base))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:06:23,469 INFO L281 TraceCheckUtils]: 20: Hoare triple {17869#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (select |#valid| dll_circular_create_~last~0.base))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {17869#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (select |#valid| dll_circular_create_~last~0.base))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:06:23,469 INFO L281 TraceCheckUtils]: 21: Hoare triple {17869#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (select |#valid| dll_circular_create_~last~0.base))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {17882#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (select |#valid| dll_circular_create_~last~0.base))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:06:23,470 INFO L281 TraceCheckUtils]: 22: Hoare triple {17882#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (select |#valid| dll_circular_create_~last~0.base))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} assume !~bvsgt32(~len, 1bv32); {17882#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (select |#valid| dll_circular_create_~last~0.base))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:06:23,470 INFO L281 TraceCheckUtils]: 23: Hoare triple {17882#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (select |#valid| dll_circular_create_~last~0.base))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {17882#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (select |#valid| dll_circular_create_~last~0.base))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:06:23,475 INFO L281 TraceCheckUtils]: 24: Hoare triple {17882#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (select |#valid| dll_circular_create_~last~0.base))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))))) (= dll_circular_create_~head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {17892#(and (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:06:23,479 INFO L281 TraceCheckUtils]: 25: Hoare triple {17892#(and (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {17896#(and (= |dll_circular_create_#res.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |dll_circular_create_#res.base|)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| |dll_circular_create_#res.base|)))) (_ bv1 1))) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))))))) (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_100))))))))))} is VALID [2021-09-14 00:06:23,480 INFO L281 TraceCheckUtils]: 26: Hoare triple {17896#(and (= |dll_circular_create_#res.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |dll_circular_create_#res.base|)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| |dll_circular_create_#res.base|)))) (_ bv1 1))) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))))))) (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_100))))))))))} assume true; {17896#(and (= |dll_circular_create_#res.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |dll_circular_create_#res.base|)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| |dll_circular_create_#res.base|)))) (_ bv1 1))) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))))))) (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_100))))))))))} is VALID [2021-09-14 00:06:23,483 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {17896#(and (= |dll_circular_create_#res.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |dll_circular_create_#res.base|)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| |dll_circular_create_#res.base|)))) (_ bv1 1))) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))))))) (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_100))))))))))} {17811#true} #219#return; {17903#(and (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32))))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_100))))))))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))))) (= |main_#t~ret12.offset| (_ bv0 32)) (not (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32)))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |main_#t~ret12.base|)))))) (_ bv1 1))))} is VALID [2021-09-14 00:06:23,484 INFO L281 TraceCheckUtils]: 28: Hoare triple {17903#(and (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32))))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_100))))))))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))))) (= |main_#t~ret12.offset| (_ bv0 32)) (not (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32)))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |main_#t~ret12.base|)))))) (_ bv1 1))))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {17907#(and (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32)))))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_100)))))))))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| main_~head~1.base))))))) (_ bv1 1))) (= main_~head~1.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32)) main_~head~1.base)))} is VALID [2021-09-14 00:06:23,485 INFO L264 TraceCheckUtils]: 29: Hoare triple {17907#(and (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32)))))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_100)))))))))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| main_~head~1.base))))))) (_ bv1 1))) (= main_~head~1.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32)) main_~head~1.base)))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {17911#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |_destroy_in_nondeterministic_order_#in~head.base|)))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32)) |_destroy_in_nondeterministic_order_#in~head.base|)) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_100)))))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32)))))))))))))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))))) (= |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv0 32)))} is VALID [2021-09-14 00:06:23,486 INFO L281 TraceCheckUtils]: 30: Hoare triple {17911#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |_destroy_in_nondeterministic_order_#in~head.base|)))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32)) |_destroy_in_nondeterministic_order_#in~head.base|)) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_100)))))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32)))))))))))))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))))) (= |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv0 32)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {17915#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))))))))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_100))))))))))))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))))))} is VALID [2021-09-14 00:06:23,487 INFO L281 TraceCheckUtils]: 31: Hoare triple {17915#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))))))))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_100))))))))))))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))))))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {17919#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (not (= |_destroy_in_nondeterministic_order_#t~mem5.base| _destroy_in_nondeterministic_order_~head.base)) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_100))))))))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |_destroy_in_nondeterministic_order_#t~mem5.base|))))))))))))))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))))))} is VALID [2021-09-14 00:06:23,490 INFO L281 TraceCheckUtils]: 32: Hoare triple {17919#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (not (= |_destroy_in_nondeterministic_order_#t~mem5.base| _destroy_in_nondeterministic_order_~head.base)) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_100))))))))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |_destroy_in_nondeterministic_order_#t~mem5.base|))))))))))))))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))))))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {17923#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_100))))))))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))))))))))))} is VALID [2021-09-14 00:06:23,491 INFO L281 TraceCheckUtils]: 33: Hoare triple {17923#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_100))))))))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))))))))))))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {17923#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_100))))))))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))))))))))))} is VALID [2021-09-14 00:06:23,492 INFO L281 TraceCheckUtils]: 34: Hoare triple {17923#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_100))))))))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))))))))))))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {17923#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_100))))))))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))))))))))))} is VALID [2021-09-14 00:06:23,492 INFO L281 TraceCheckUtils]: 35: Hoare triple {17923#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_100))))))))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))))))))))))} assume !(0bv32 != #t~nondet7);havoc #t~nondet7; {17923#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_100))))))))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))))))))))))} is VALID [2021-09-14 00:06:23,493 INFO L281 TraceCheckUtils]: 36: Hoare triple {17923#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_100))))))))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))))))))))))} assume !(0bv32 != #t~nondet9);havoc #t~nondet9; {17923#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_100))))))))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))))))))))))} is VALID [2021-09-14 00:06:23,494 INFO L281 TraceCheckUtils]: 37: Hoare triple {17923#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_100))))))))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))))))))))))} assume 0bv32 == ~pred~0.offset; {17923#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_100))))))))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))))))))))))} is VALID [2021-09-14 00:06:23,494 INFO L281 TraceCheckUtils]: 38: Hoare triple {17923#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_100))))))))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))))))))))))} assume ~bvult32(~pred~0.base, #StackHeapBarrier); {17923#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_100))))))))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))))))))))))} is VALID [2021-09-14 00:06:23,497 INFO L281 TraceCheckUtils]: 39: Hoare triple {17923#(and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (exists ((v_arrayElimCell_100 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_100) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_100))))))))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))))))))))))} assume 0bv32 == ~pred~0.base || 1bv1 == #valid[~pred~0.base];call ULTIMATE.dealloc(~pred~0.base, ~pred~0.offset); {17945#(and (exists ((_destroy_in_nondeterministic_order_~pred~0.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))) (exists ((v_arrayElimCell_103 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| _destroy_in_nondeterministic_order_~head.base) (bvneg v_arrayElimCell_103))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_103)))))))))) (_ bv1 1))))))} is VALID [2021-09-14 00:06:23,498 INFO L281 TraceCheckUtils]: 40: Hoare triple {17945#(and (exists ((_destroy_in_nondeterministic_order_~pred~0.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))) (exists ((v_arrayElimCell_103 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| _destroy_in_nondeterministic_order_~head.base) (bvneg v_arrayElimCell_103))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_103)))))))))) (_ bv1 1))))))} assume 0bv32 != #t~nondet11;havoc #t~nondet11; {17945#(and (exists ((_destroy_in_nondeterministic_order_~pred~0.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))) (exists ((v_arrayElimCell_103 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| _destroy_in_nondeterministic_order_~head.base) (bvneg v_arrayElimCell_103))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_103)))))))))) (_ bv1 1))))))} is VALID [2021-09-14 00:06:23,499 INFO L281 TraceCheckUtils]: 41: Hoare triple {17945#(and (exists ((_destroy_in_nondeterministic_order_~pred~0.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))) (exists ((v_arrayElimCell_103 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| _destroy_in_nondeterministic_order_~head.base) (bvneg v_arrayElimCell_103))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_103)))))))))) (_ bv1 1))))))} assume 0bv32 == ~head.offset; {17945#(and (exists ((_destroy_in_nondeterministic_order_~pred~0.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))) (exists ((v_arrayElimCell_103 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| _destroy_in_nondeterministic_order_~head.base) (bvneg v_arrayElimCell_103))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_103)))))))))) (_ bv1 1))))))} is VALID [2021-09-14 00:06:23,499 INFO L281 TraceCheckUtils]: 42: Hoare triple {17945#(and (exists ((_destroy_in_nondeterministic_order_~pred~0.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))) (exists ((v_arrayElimCell_103 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| _destroy_in_nondeterministic_order_~head.base) (bvneg v_arrayElimCell_103))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_103)))))))))) (_ bv1 1))))))} assume ~bvult32(~head.base, #StackHeapBarrier); {17945#(and (exists ((_destroy_in_nondeterministic_order_~pred~0.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))) (exists ((v_arrayElimCell_103 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| _destroy_in_nondeterministic_order_~head.base) (bvneg v_arrayElimCell_103))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_103)))))))))) (_ bv1 1))))))} is VALID [2021-09-14 00:06:23,500 INFO L281 TraceCheckUtils]: 43: Hoare triple {17945#(and (exists ((_destroy_in_nondeterministic_order_~pred~0.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))) (exists ((v_arrayElimCell_103 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| _destroy_in_nondeterministic_order_~head.base) (bvneg v_arrayElimCell_103))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_103)))))))))) (_ bv1 1))))))} assume !(0bv32 == ~head.base || 1bv1 == #valid[~head.base]); {17812#false} is VALID [2021-09-14 00:06:23,500 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 2 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-14 00:06:23,500 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-14 00:06:30,819 INFO L354 Elim1Store]: treesize reduction 5, result has 37.5 percent of original size [2021-09-14 00:06:30,819 INFO L388 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 19 treesize of output 18 [2021-09-14 00:06:30,874 INFO L281 TraceCheckUtils]: 43: Hoare triple {17958#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} assume !(0bv32 == ~head.base || 1bv1 == #valid[~head.base]); {17812#false} is VALID [2021-09-14 00:06:30,875 INFO L281 TraceCheckUtils]: 42: Hoare triple {17958#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} assume ~bvult32(~head.base, #StackHeapBarrier); {17958#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} is VALID [2021-09-14 00:06:30,875 INFO L281 TraceCheckUtils]: 41: Hoare triple {17958#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} assume 0bv32 == ~head.offset; {17958#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} is VALID [2021-09-14 00:06:30,875 INFO L281 TraceCheckUtils]: 40: Hoare triple {17958#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} assume 0bv32 != #t~nondet11;havoc #t~nondet11; {17958#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} is VALID [2021-09-14 00:06:30,876 INFO L281 TraceCheckUtils]: 39: Hoare triple {17971#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} assume 0bv32 == ~pred~0.base || 1bv1 == #valid[~pred~0.base];call ULTIMATE.dealloc(~pred~0.base, ~pred~0.offset); {17958#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} is VALID [2021-09-14 00:06:30,876 INFO L281 TraceCheckUtils]: 38: Hoare triple {17971#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} assume ~bvult32(~pred~0.base, #StackHeapBarrier); {17971#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} is VALID [2021-09-14 00:06:30,876 INFO L281 TraceCheckUtils]: 37: Hoare triple {17971#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} assume 0bv32 == ~pred~0.offset; {17971#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} is VALID [2021-09-14 00:06:30,877 INFO L281 TraceCheckUtils]: 36: Hoare triple {17971#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} assume !(0bv32 != #t~nondet9);havoc #t~nondet9; {17971#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} is VALID [2021-09-14 00:06:30,877 INFO L281 TraceCheckUtils]: 35: Hoare triple {17971#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} assume !(0bv32 != #t~nondet7);havoc #t~nondet7; {17971#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} is VALID [2021-09-14 00:06:30,877 INFO L281 TraceCheckUtils]: 34: Hoare triple {17971#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {17971#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} is VALID [2021-09-14 00:06:30,878 INFO L281 TraceCheckUtils]: 33: Hoare triple {17971#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {17971#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} is VALID [2021-09-14 00:06:30,878 INFO L281 TraceCheckUtils]: 32: Hoare triple {17993#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| |_destroy_in_nondeterministic_order_#t~mem5.base| (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {17971#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~pred~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} is VALID [2021-09-14 00:06:30,879 INFO L281 TraceCheckUtils]: 31: Hoare triple {17997#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (select (store |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset)) (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))))))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {17993#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| |_destroy_in_nondeterministic_order_#t~mem5.base| (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))) (_ bv1 1)))} is VALID [2021-09-14 00:06:30,879 INFO L281 TraceCheckUtils]: 30: Hoare triple {18001#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select (store |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (bvadd |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv4 32))) (_ bv0 1)) |_destroy_in_nondeterministic_order_#in~head.base|)))) (_ bv1 1)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {17997#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (select (store |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset)) (_ bv0 1)) _destroy_in_nondeterministic_order_~head.base))))))} is VALID [2021-09-14 00:06:30,880 INFO L264 TraceCheckUtils]: 29: Hoare triple {18005#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) (bvadd (_ bv4 32) main_~head~1.offset)) (_ bv0 1)) main_~head~1.base)))))) (_ bv1 1)))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {18001#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select (store |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (bvadd |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv4 32))) (_ bv0 1)) |_destroy_in_nondeterministic_order_#in~head.base|)))) (_ bv1 1)))} is VALID [2021-09-14 00:06:30,880 INFO L281 TraceCheckUtils]: 28: Hoare triple {18009#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (bvadd (_ bv4 32) |main_#t~ret12.offset|)) (_ bv0 1)) |main_#t~ret12.base|))))))))) (_ bv1 1)))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {18005#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) (bvadd (_ bv4 32) main_~head~1.offset)) (_ bv0 1)) main_~head~1.base)))))) (_ bv1 1)))} is VALID [2021-09-14 00:06:30,881 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {18016#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) (_ bv0 1)) |dll_circular_create_#res.base|))))))))) (_ bv1 1)))} {17811#true} #219#return; {18009#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (bvadd (_ bv4 32) |main_#t~ret12.offset|)) (_ bv0 1)) |main_#t~ret12.base|))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:06:30,881 INFO L281 TraceCheckUtils]: 26: Hoare triple {18016#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) (_ bv0 1)) |dll_circular_create_#res.base|))))))))) (_ bv1 1)))} assume true; {18016#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) (_ bv0 1)) |dll_circular_create_#res.base|))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:06:30,882 INFO L281 TraceCheckUtils]: 25: Hoare triple {18023#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) (_ bv0 1)) dll_circular_create_~head~0.base)))))))))) (_ bv1 1)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {18016#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) (_ bv0 1)) |dll_circular_create_#res.base|))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:06:30,884 INFO L281 TraceCheckUtils]: 24: Hoare triple {18027#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~last~0.base (_ bv0 1)) dll_circular_create_~head~0.base)))))))))) (_ bv1 1)))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {18023#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) (_ bv0 1)) dll_circular_create_~head~0.base)))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:06:30,884 INFO L281 TraceCheckUtils]: 23: Hoare triple {18027#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~last~0.base (_ bv0 1)) dll_circular_create_~head~0.base)))))))))) (_ bv1 1)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {18027#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~last~0.base (_ bv0 1)) dll_circular_create_~head~0.base)))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:06:30,884 INFO L281 TraceCheckUtils]: 22: Hoare triple {18027#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~last~0.base (_ bv0 1)) dll_circular_create_~head~0.base)))))))))) (_ bv1 1)))} assume !~bvsgt32(~len, 1bv32); {18027#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~last~0.base (_ bv0 1)) dll_circular_create_~head~0.base)))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:06:30,885 INFO L281 TraceCheckUtils]: 21: Hoare triple {18037#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~last~0.base (_ bv0 1)) dll_circular_create_~new_head~0.base)))))))))) (_ bv1 1)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {18027#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~last~0.base (_ bv0 1)) dll_circular_create_~head~0.base)))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:06:30,885 INFO L281 TraceCheckUtils]: 20: Hoare triple {18037#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~last~0.base (_ bv0 1)) dll_circular_create_~new_head~0.base)))))))))) (_ bv1 1)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {18037#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~last~0.base (_ bv0 1)) dll_circular_create_~new_head~0.base)))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:06:30,885 INFO L281 TraceCheckUtils]: 19: Hoare triple {18037#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~last~0.base (_ bv0 1)) dll_circular_create_~new_head~0.base)))))))))) (_ bv1 1)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {18037#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~last~0.base (_ bv0 1)) dll_circular_create_~new_head~0.base)))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:06:30,886 INFO L281 TraceCheckUtils]: 18: Hoare triple {18037#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~last~0.base (_ bv0 1)) dll_circular_create_~new_head~0.base)))))))))) (_ bv1 1)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {18037#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~last~0.base (_ bv0 1)) dll_circular_create_~new_head~0.base)))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:06:30,887 INFO L281 TraceCheckUtils]: 17: Hoare triple {17862#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {18037#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select (store |#valid| dll_circular_create_~last~0.base (_ bv0 1)) dll_circular_create_~new_head~0.base)))))))))) (_ bv1 1)))} is VALID [2021-09-14 00:06:30,887 INFO L281 TraceCheckUtils]: 16: Hoare triple {17862#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {17862#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} is VALID [2021-09-14 00:06:30,887 INFO L281 TraceCheckUtils]: 15: Hoare triple {17849#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {17862#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} is VALID [2021-09-14 00:06:30,888 INFO L281 TraceCheckUtils]: 14: Hoare triple {17849#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {17849#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} is VALID [2021-09-14 00:06:30,888 INFO L281 TraceCheckUtils]: 13: Hoare triple {17849#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {17849#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} is VALID [2021-09-14 00:06:30,888 INFO L281 TraceCheckUtils]: 12: Hoare triple {17849#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {17849#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} is VALID [2021-09-14 00:06:30,889 INFO L281 TraceCheckUtils]: 11: Hoare triple {17811#true} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {17849#(= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)} is VALID [2021-09-14 00:06:30,889 INFO L281 TraceCheckUtils]: 10: Hoare triple {17811#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {17811#true} is VALID [2021-09-14 00:06:30,889 INFO L281 TraceCheckUtils]: 9: Hoare triple {17811#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {17811#true} is VALID [2021-09-14 00:06:30,889 INFO L281 TraceCheckUtils]: 8: Hoare triple {17811#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {17811#true} is VALID [2021-09-14 00:06:30,889 INFO L281 TraceCheckUtils]: 7: Hoare triple {17811#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {17811#true} is VALID [2021-09-14 00:06:30,889 INFO L264 TraceCheckUtils]: 6: Hoare triple {17811#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {17811#true} is VALID [2021-09-14 00:06:30,889 INFO L281 TraceCheckUtils]: 5: Hoare triple {17811#true} ~len~0 := 3bv32; {17811#true} is VALID [2021-09-14 00:06:30,889 INFO L264 TraceCheckUtils]: 4: Hoare triple {17811#true} call #t~ret13 := main(); {17811#true} is VALID [2021-09-14 00:06:30,889 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {17811#true} {17811#true} #223#return; {17811#true} is VALID [2021-09-14 00:06:30,889 INFO L281 TraceCheckUtils]: 2: Hoare triple {17811#true} assume true; {17811#true} is VALID [2021-09-14 00:06:30,889 INFO L281 TraceCheckUtils]: 1: Hoare triple {17811#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {17811#true} is VALID [2021-09-14 00:06:30,889 INFO L264 TraceCheckUtils]: 0: Hoare triple {17811#true} call ULTIMATE.init(); {17811#true} is VALID [2021-09-14 00:06:30,890 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-14 00:06:30,890 INFO L139 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2021-09-14 00:06:30,890 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [81917574] [2021-09-14 00:06:30,890 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleMathsat [81917574] provided 0 perfect and 2 imperfect interpolant sequences [2021-09-14 00:06:30,890 INFO L186 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2021-09-14 00:06:30,890 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 25 [2021-09-14 00:06:30,890 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1923730457] [2021-09-14 00:06:30,890 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 23 states have (on average 2.739130434782609) internal successors, (63), 22 states have internal predecessors, (63), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) Word has length 44 [2021-09-14 00:06:30,890 INFO L84 Accepts]: Finished accepts. word is accepted. [2021-09-14 00:06:30,891 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 26 states, 23 states have (on average 2.739130434782609) internal successors, (63), 22 states have internal predecessors, (63), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:06:31,026 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-14 00:06:31,026 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2021-09-14 00:06:31,026 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2021-09-14 00:06:31,026 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2021-09-14 00:06:31,026 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=579, Unknown=3, NotChecked=0, Total=650 [2021-09-14 00:06:31,026 INFO L87 Difference]: Start difference. First operand 98 states and 103 transitions. Second operand has 26 states, 23 states have (on average 2.739130434782609) internal successors, (63), 22 states have internal predecessors, (63), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:06:33,904 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:06:33,904 INFO L93 Difference]: Finished difference Result 97 states and 102 transitions. [2021-09-14 00:06:33,904 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2021-09-14 00:06:33,904 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 23 states have (on average 2.739130434782609) internal successors, (63), 22 states have internal predecessors, (63), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) Word has length 44 [2021-09-14 00:06:33,904 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2021-09-14 00:06:33,904 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 23 states have (on average 2.739130434782609) internal successors, (63), 22 states have internal predecessors, (63), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:06:33,905 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 101 transitions. [2021-09-14 00:06:33,905 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 23 states have (on average 2.739130434782609) internal successors, (63), 22 states have internal predecessors, (63), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:06:33,906 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 101 transitions. [2021-09-14 00:06:33,906 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 101 transitions. [2021-09-14 00:06:34,055 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2021-09-14 00:06:34,056 INFO L225 Difference]: With dead ends: 97 [2021-09-14 00:06:34,056 INFO L226 Difference]: Without dead ends: 97 [2021-09-14 00:06:34,056 INFO L927 BasicCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 63 SyntacticMatches, 1 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 124 ImplicationChecksByTransitivity, 7272.79ms TimeCoverageRelationStatistics Valid=79, Invalid=674, Unknown=3, NotChecked=0, Total=756 [2021-09-14 00:06:34,057 INFO L928 BasicCegarLoop]: 7 mSDtfsCounter, 4 mSDsluCounter, 800 mSDsCounter, 0 mSdLazyCounter, 859 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1285.66ms Time, 0 mProtectedPredicate, 0 mProtectedAction, 4 SdHoareTripleChecker+Valid, 96 SdHoareTripleChecker+Invalid, 1301 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 4.76ms SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 859 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 440 IncrementalHoareTripleChecker+Unchecked, 1291.91ms IncrementalHoareTripleChecker+Time [2021-09-14 00:06:34,057 INFO L929 BasicCegarLoop]: SdHoareTripleChecker [4 Valid, 96 Invalid, 1301 Unknown, 0 Unchecked, 4.76ms Time], IncrementalHoareTripleChecker [2 Valid, 859 Invalid, 0 Unknown, 440 Unchecked, 1291.91ms Time] [2021-09-14 00:06:34,057 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 97 states. [2021-09-14 00:06:34,058 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 97 to 97. [2021-09-14 00:06:34,058 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2021-09-14 00:06:34,058 INFO L82 GeneralOperation]: Start isEquivalent. First operand 97 states. Second operand has 97 states, 79 states have (on average 1.2025316455696202) internal successors, (95), 89 states have internal predecessors, (95), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:06:34,058 INFO L74 IsIncluded]: Start isIncluded. First operand 97 states. Second operand has 97 states, 79 states have (on average 1.2025316455696202) internal successors, (95), 89 states have internal predecessors, (95), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:06:34,059 INFO L87 Difference]: Start difference. First operand 97 states. Second operand has 97 states, 79 states have (on average 1.2025316455696202) internal successors, (95), 89 states have internal predecessors, (95), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:06:34,059 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:06:34,059 INFO L93 Difference]: Finished difference Result 97 states and 102 transitions. [2021-09-14 00:06:34,059 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 102 transitions. [2021-09-14 00:06:34,060 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-14 00:06:34,060 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-14 00:06:34,060 INFO L74 IsIncluded]: Start isIncluded. First operand has 97 states, 79 states have (on average 1.2025316455696202) internal successors, (95), 89 states have internal predecessors, (95), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 97 states. [2021-09-14 00:06:34,060 INFO L87 Difference]: Start difference. First operand has 97 states, 79 states have (on average 1.2025316455696202) internal successors, (95), 89 states have internal predecessors, (95), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 97 states. [2021-09-14 00:06:34,061 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-09-14 00:06:34,061 INFO L93 Difference]: Finished difference Result 97 states and 102 transitions. [2021-09-14 00:06:34,061 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 102 transitions. [2021-09-14 00:06:34,061 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2021-09-14 00:06:34,061 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2021-09-14 00:06:34,061 INFO L88 GeneralOperation]: Finished isEquivalent. [2021-09-14 00:06:34,061 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2021-09-14 00:06:34,061 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 97 states, 79 states have (on average 1.2025316455696202) internal successors, (95), 89 states have internal predecessors, (95), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2021-09-14 00:06:34,062 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 102 transitions. [2021-09-14 00:06:34,062 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 102 transitions. Word has length 44 [2021-09-14 00:06:34,062 INFO L84 Accepts]: Finished accepts. word is rejected. [2021-09-14 00:06:34,062 INFO L470 AbstractCegarLoop]: Abstraction has 97 states and 102 transitions. [2021-09-14 00:06:34,062 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 26 states, 23 states have (on average 2.739130434782609) internal successors, (63), 22 states have internal predecessors, (63), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 1 states have call successors, (3) [2021-09-14 00:06:34,062 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 102 transitions. [2021-09-14 00:06:34,063 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2021-09-14 00:06:34,063 INFO L505 BasicCegarLoop]: Found error trace [2021-09-14 00:06:34,063 INFO L513 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-09-14 00:06:34,083 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (27)] Forceful destruction successful, exit code 0 [2021-09-14 00:06:34,270 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 27 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-09-14 00:06:34,270 INFO L402 AbstractCegarLoop]: === Iteration 27 === Targeting _destroy_in_nondeterministic_orderErr30ASSERT_VIOLATIONMEMORY_FREE === [_destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION, _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (and 56 more)] === [2021-09-14 00:06:34,271 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-09-14 00:06:34,271 INFO L82 PathProgramCache]: Analyzing trace with hash -510307206, now seen corresponding path program 1 times [2021-09-14 00:06:34,271 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-09-14 00:06:34,271 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [213335436] [2021-09-14 00:06:34,271 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-14 00:06:34,271 INFO L170 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-09-14 00:06:34,271 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-09-14 00:06:34,272 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2021-09-14 00:06:34,273 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (28)] Waiting until timeout for monitored process [2021-09-14 00:06:34,392 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-14 00:06:34,396 INFO L263 TraceCheckSpWp]: Trace formula consists of 158 conjuncts, 35 conjunts are in the unsatisfiable core [2021-09-14 00:06:34,409 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-14 00:06:34,410 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-14 00:06:34,439 INFO L388 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 [2021-09-14 00:06:34,571 INFO L354 Elim1Store]: treesize reduction 15, result has 46.4 percent of original size [2021-09-14 00:06:34,571 INFO L388 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 20 treesize of output 27 [2021-09-14 00:06:34,917 INFO L354 Elim1Store]: treesize reduction 30, result has 45.5 percent of original size [2021-09-14 00:06:34,918 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 33 treesize of output 50 [2021-09-14 00:06:35,163 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2021-09-14 00:06:35,317 INFO L354 Elim1Store]: treesize reduction 29, result has 19.4 percent of original size [2021-09-14 00:06:35,318 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 57 treesize of output 43 [2021-09-14 00:06:35,805 INFO L354 Elim1Store]: treesize reduction 45, result has 16.7 percent of original size [2021-09-14 00:06:35,805 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 60 treesize of output 53 [2021-09-14 00:06:36,011 INFO L190 IndexEqualityManager]: detected not equals via solver [2021-09-14 00:06:36,036 INFO L354 Elim1Store]: treesize reduction 71, result has 11.3 percent of original size [2021-09-14 00:06:36,037 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 4 case distinctions, treesize of input 77 treesize of output 73 [2021-09-14 00:06:37,898 INFO L354 Elim1Store]: treesize reduction 47, result has 7.8 percent of original size [2021-09-14 00:06:37,898 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 1 disjoint index pairs (out of 6 index pairs), introduced 6 new quantified variables, introduced 6 case distinctions, treesize of input 118 treesize of output 82 [2021-09-14 00:06:38,681 INFO L354 Elim1Store]: treesize reduction 46, result has 27.0 percent of original size [2021-09-14 00:06:38,682 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 5 case distinctions, treesize of input 79 treesize of output 88 [2021-09-14 00:06:39,283 INFO L264 TraceCheckUtils]: 0: Hoare triple {18493#true} call ULTIMATE.init(); {18493#true} is VALID [2021-09-14 00:06:39,283 INFO L281 TraceCheckUtils]: 1: Hoare triple {18493#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {18493#true} is VALID [2021-09-14 00:06:39,283 INFO L281 TraceCheckUtils]: 2: Hoare triple {18493#true} assume true; {18493#true} is VALID [2021-09-14 00:06:39,283 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {18493#true} {18493#true} #223#return; {18493#true} is VALID [2021-09-14 00:06:39,283 INFO L264 TraceCheckUtils]: 4: Hoare triple {18493#true} call #t~ret13 := main(); {18493#true} is VALID [2021-09-14 00:06:39,283 INFO L281 TraceCheckUtils]: 5: Hoare triple {18493#true} ~len~0 := 3bv32; {18493#true} is VALID [2021-09-14 00:06:39,283 INFO L264 TraceCheckUtils]: 6: Hoare triple {18493#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {18493#true} is VALID [2021-09-14 00:06:39,284 INFO L281 TraceCheckUtils]: 7: Hoare triple {18493#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {18519#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} is VALID [2021-09-14 00:06:39,285 INFO L281 TraceCheckUtils]: 8: Hoare triple {18519#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {18519#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} is VALID [2021-09-14 00:06:39,285 INFO L281 TraceCheckUtils]: 9: Hoare triple {18519#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {18519#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} is VALID [2021-09-14 00:06:39,286 INFO L281 TraceCheckUtils]: 10: Hoare triple {18519#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {18519#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} is VALID [2021-09-14 00:06:39,286 INFO L281 TraceCheckUtils]: 11: Hoare triple {18519#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {18532#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base))} is VALID [2021-09-14 00:06:39,290 INFO L281 TraceCheckUtils]: 12: Hoare triple {18532#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {18536#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (exists ((v_arrayElimCell_107 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| dll_circular_create_~last~0.base) (bvneg v_arrayElimCell_107))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_107) (_ bv1 1))))) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-14 00:06:39,291 INFO L281 TraceCheckUtils]: 13: Hoare triple {18536#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (exists ((v_arrayElimCell_107 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| dll_circular_create_~last~0.base) (bvneg v_arrayElimCell_107))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_107) (_ bv1 1))))) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {18536#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (exists ((v_arrayElimCell_107 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| dll_circular_create_~last~0.base) (bvneg v_arrayElimCell_107))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_107) (_ bv1 1))))) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-14 00:06:39,291 INFO L281 TraceCheckUtils]: 14: Hoare triple {18536#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (exists ((v_arrayElimCell_107 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| dll_circular_create_~last~0.base) (bvneg v_arrayElimCell_107))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_107) (_ bv1 1))))) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {18536#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (exists ((v_arrayElimCell_107 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| dll_circular_create_~last~0.base) (bvneg v_arrayElimCell_107))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_107) (_ bv1 1))))) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-14 00:06:39,292 INFO L281 TraceCheckUtils]: 15: Hoare triple {18536#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (exists ((v_arrayElimCell_107 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| dll_circular_create_~last~0.base) (bvneg v_arrayElimCell_107))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_107) (_ bv1 1))))) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {18546#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-14 00:06:39,292 INFO L281 TraceCheckUtils]: 16: Hoare triple {18546#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {18550#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} is VALID [2021-09-14 00:06:39,298 INFO L281 TraceCheckUtils]: 17: Hoare triple {18550#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {18554#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (exists ((v_arrayElimCell_109 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| dll_circular_create_~last~0.base) (bvneg v_arrayElimCell_109))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_109)) (_ bv1 1))))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_110) (select |#valid| dll_circular_create_~head~0.base))))))} is VALID [2021-09-14 00:06:39,299 INFO L281 TraceCheckUtils]: 18: Hoare triple {18554#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (exists ((v_arrayElimCell_109 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| dll_circular_create_~last~0.base) (bvneg v_arrayElimCell_109))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_109)) (_ bv1 1))))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_110) (select |#valid| dll_circular_create_~head~0.base))))))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {18554#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (exists ((v_arrayElimCell_109 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| dll_circular_create_~last~0.base) (bvneg v_arrayElimCell_109))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_109)) (_ bv1 1))))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_110) (select |#valid| dll_circular_create_~head~0.base))))))} is VALID [2021-09-14 00:06:39,300 INFO L281 TraceCheckUtils]: 19: Hoare triple {18554#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (exists ((v_arrayElimCell_109 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| dll_circular_create_~last~0.base) (bvneg v_arrayElimCell_109))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_109)) (_ bv1 1))))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_110) (select |#valid| dll_circular_create_~head~0.base))))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {18561#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (exists ((v_arrayElimCell_109 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| dll_circular_create_~last~0.base) (bvneg v_arrayElimCell_109))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_109)) (_ bv1 1))))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_110) (select |#valid| dll_circular_create_~head~0.base))))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} is VALID [2021-09-14 00:06:39,306 INFO L281 TraceCheckUtils]: 20: Hoare triple {18561#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (exists ((v_arrayElimCell_109 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| dll_circular_create_~last~0.base) (bvneg v_arrayElimCell_109))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_109)) (_ bv1 1))))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_110) (select |#valid| dll_circular_create_~head~0.base))))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {18565#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (not (= dll_circular_create_~last~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (exists ((v_arrayElimCell_109 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| dll_circular_create_~last~0.base) (bvneg v_arrayElimCell_109))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_109)) (_ bv1 1))))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (bvneg v_arrayElimCell_110))))) (exists ((dll_circular_create_~head~0.offset (_ BitVec 32))) (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)))))} is VALID [2021-09-14 00:06:39,310 INFO L281 TraceCheckUtils]: 21: Hoare triple {18565#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (not (= dll_circular_create_~last~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (exists ((v_arrayElimCell_109 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| dll_circular_create_~last~0.base) (bvneg v_arrayElimCell_109))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_109)) (_ bv1 1))))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (bvneg v_arrayElimCell_110))))) (exists ((dll_circular_create_~head~0.offset (_ BitVec 32))) (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {18569#(and (not (= dll_circular_create_~last~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_145 (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_145)))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (exists ((v_arrayElimCell_109 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| dll_circular_create_~last~0.base) (bvneg v_arrayElimCell_109))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_109)) (_ bv1 1))))) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvneg v_arrayElimCell_110))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))))) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} is VALID [2021-09-14 00:06:39,311 INFO L281 TraceCheckUtils]: 22: Hoare triple {18569#(and (not (= dll_circular_create_~last~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_145 (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_145)))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (exists ((v_arrayElimCell_109 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| dll_circular_create_~last~0.base) (bvneg v_arrayElimCell_109))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_109)) (_ bv1 1))))) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvneg v_arrayElimCell_110))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))))) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} assume !~bvsgt32(~len, 1bv32); {18569#(and (not (= dll_circular_create_~last~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_145 (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_145)))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (exists ((v_arrayElimCell_109 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| dll_circular_create_~last~0.base) (bvneg v_arrayElimCell_109))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_109)) (_ bv1 1))))) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvneg v_arrayElimCell_110))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))))) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} is VALID [2021-09-14 00:06:39,317 INFO L281 TraceCheckUtils]: 23: Hoare triple {18569#(and (not (= dll_circular_create_~last~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_145 (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_145)))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (exists ((v_arrayElimCell_109 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| dll_circular_create_~last~0.base) (bvneg v_arrayElimCell_109))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_109)) (_ bv1 1))))) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvneg v_arrayElimCell_110))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))))) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {18576#(and (not (= dll_circular_create_~last~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_145 (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_145)))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) (_ bv0 32))) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvneg v_arrayElimCell_110))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))))) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} is VALID [2021-09-14 00:06:39,324 INFO L281 TraceCheckUtils]: 24: Hoare triple {18576#(and (not (= dll_circular_create_~last~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_145 (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_145)))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) (_ bv0 32))) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvneg v_arrayElimCell_110))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))))) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {18580#(and (exists ((v_dll_circular_create_~head~0.offset_145 (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_145)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))) (_ bv0 32)) dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvneg v_arrayElimCell_110))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))))) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} is VALID [2021-09-14 00:06:39,326 INFO L281 TraceCheckUtils]: 25: Hoare triple {18580#(and (exists ((v_dll_circular_create_~head~0.offset_145 (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_145)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))) (_ bv0 32)) dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvneg v_arrayElimCell_110))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))))) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {18584#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))))) (_ bv1 1))) (= |dll_circular_create_#res.offset| (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))) (_ bv0 32)) |dll_circular_create_#res.base|) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| |dll_circular_create_#res.base|)))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))) (bvneg (bvneg v_arrayElimCell_110)))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))))) (exists ((v_dll_circular_create_~head~0.offset_145 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_145)) |dll_circular_create_#res.base|)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |dll_circular_create_#res.base|)))} is VALID [2021-09-14 00:06:39,327 INFO L281 TraceCheckUtils]: 26: Hoare triple {18584#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))))) (_ bv1 1))) (= |dll_circular_create_#res.offset| (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))) (_ bv0 32)) |dll_circular_create_#res.base|) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| |dll_circular_create_#res.base|)))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))) (bvneg (bvneg v_arrayElimCell_110)))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))))) (exists ((v_dll_circular_create_~head~0.offset_145 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_145)) |dll_circular_create_#res.base|)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |dll_circular_create_#res.base|)))} assume true; {18584#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))))) (_ bv1 1))) (= |dll_circular_create_#res.offset| (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))) (_ bv0 32)) |dll_circular_create_#res.base|) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| |dll_circular_create_#res.base|)))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))) (bvneg (bvneg v_arrayElimCell_110)))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))))) (exists ((v_dll_circular_create_~head~0.offset_145 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_145)) |dll_circular_create_#res.base|)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |dll_circular_create_#res.base|)))} is VALID [2021-09-14 00:06:39,329 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {18584#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))))) (_ bv1 1))) (= |dll_circular_create_#res.offset| (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))) (_ bv0 32)) |dll_circular_create_#res.base|) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| |dll_circular_create_#res.base|)))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))) (bvneg (bvneg v_arrayElimCell_110)))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))))) (exists ((v_dll_circular_create_~head~0.offset_145 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_145)) |dll_circular_create_#res.base|)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |dll_circular_create_#res.base|)))} {18493#true} #219#return; {18591#(and (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (bvadd (_ bv4 32) |main_#t~ret12.offset|)) (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|))) (not (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (bvadd (_ bv4 32) |main_#t~ret12.offset|))) (_ bv0 32)) |main_#t~ret12.base|) (= |main_#t~ret12.offset| (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (bvadd (_ bv4 32) |main_#t~ret12.offset|)))))))) (_ bv1 1))) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |main_#t~ret12.base|)))))) (_ bv1 1))) (exists ((v_dll_circular_create_~head~0.offset_145 (_ BitVec 32))) (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_145)))))} is VALID [2021-09-14 00:06:39,334 INFO L281 TraceCheckUtils]: 28: Hoare triple {18591#(and (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (bvadd (_ bv4 32) |main_#t~ret12.offset|)) (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|))) (not (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (bvadd (_ bv4 32) |main_#t~ret12.offset|))) (_ bv0 32)) |main_#t~ret12.base|) (= |main_#t~ret12.offset| (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (bvadd (_ bv4 32) |main_#t~ret12.offset|)))))))) (_ bv1 1))) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |main_#t~ret12.base|)))))) (_ bv1 1))) (exists ((v_dll_circular_create_~head~0.offset_145 (_ BitVec 32))) (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) |main_#t~ret12.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_145)))))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {18595#(and (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg v_arrayElimCell_110))) (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset)))))))) (exists ((v_dll_circular_create_~head~0.offset_145 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_145)) main_~head~1.base)) (= main_~head~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) (bvadd (_ bv4 32) main_~head~1.offset))) (_ bv0 32))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| main_~head~1.base))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) (bvadd (_ bv4 32) main_~head~1.offset)) (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset))) (= main_~head~1.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) (bvadd (_ bv4 32) main_~head~1.offset)))))))))) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset))))} is VALID [2021-09-14 00:06:39,336 INFO L264 TraceCheckUtils]: 29: Hoare triple {18595#(and (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg v_arrayElimCell_110))) (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset)))))))) (exists ((v_dll_circular_create_~head~0.offset_145 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_145)) main_~head~1.base)) (= main_~head~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) (bvadd (_ bv4 32) main_~head~1.offset))) (_ bv0 32))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| main_~head~1.base))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) (bvadd (_ bv4 32) main_~head~1.offset)) (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset))) (= main_~head~1.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) (bvadd (_ bv4 32) main_~head~1.offset)))))))))) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) main_~head~1.offset))))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {18599#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |_destroy_in_nondeterministic_order_#in~head.base|)))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (bvadd |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv4 32))))))))))))) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|))))) (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_110)))))))) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|) |_destroy_in_nondeterministic_order_#in~head.base|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (bvadd |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv4 32)))) (_ bv0 32)) |_destroy_in_nondeterministic_order_#in~head.base|) (= |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv0 32)) (exists ((v_dll_circular_create_~head~0.offset_145 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_145)) |_destroy_in_nondeterministic_order_#in~head.base|)) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (bvadd |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv4 32))) (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|))))} is VALID [2021-09-14 00:06:39,342 INFO L281 TraceCheckUtils]: 30: Hoare triple {18599#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |_destroy_in_nondeterministic_order_#in~head.base|)))))))) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (bvadd |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv4 32))))))))))))) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|))))) (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_110)))))))) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|) |_destroy_in_nondeterministic_order_#in~head.base|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (bvadd |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv4 32)))) (_ bv0 32)) |_destroy_in_nondeterministic_order_#in~head.base|) (= |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv0 32)) (exists ((v_dll_circular_create_~head~0.offset_145 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_145)) |_destroy_in_nondeterministic_order_#in~head.base|)) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (bvadd |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv4 32))) (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) |_destroy_in_nondeterministic_order_#in~head.offset|))))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {18603#(and (exists ((v_dll_circular_create_~head~0.offset_145 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_145)) _destroy_in_nondeterministic_order_~head.base)) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset)))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset))) (_ bv0 32))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset)))))))))) (_ bv1 1))) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))))) (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_110)))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))))))} is VALID [2021-09-14 00:06:39,343 INFO L281 TraceCheckUtils]: 31: Hoare triple {18603#(and (exists ((v_dll_circular_create_~head~0.offset_145 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_145)) _destroy_in_nondeterministic_order_~head.base)) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset)))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset))) (_ bv0 32))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset)))))))))) (_ bv1 1))) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))))) (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_110)))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))))))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {18607#(and (exists ((v_dll_circular_create_~head~0.offset_145 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_145)) _destroy_in_nondeterministic_order_~head.base)) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset)))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset))) (_ bv0 32))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset)))))))))) (_ bv1 1))) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))))) (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_110)))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))))) (= |_destroy_in_nondeterministic_order_#t~mem5.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset))))} is VALID [2021-09-14 00:06:39,344 INFO L281 TraceCheckUtils]: 32: Hoare triple {18607#(and (exists ((v_dll_circular_create_~head~0.offset_145 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_145)) _destroy_in_nondeterministic_order_~head.base)) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset)))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset))) (_ bv0 32))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset)))))))))) (_ bv1 1))) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))))) (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_110)))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))))) (= |_destroy_in_nondeterministic_order_#t~mem5.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset))))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {18611#(and (exists ((v_dll_circular_create_~head~0.offset_145 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_145)) _destroy_in_nondeterministic_order_~head.base)) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset)))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset))) (_ bv0 32))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset)))))))))) (_ bv1 1))) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (= _destroy_in_nondeterministic_order_~pred~0.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset))) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))))) (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_110)))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))))))} is VALID [2021-09-14 00:06:39,346 INFO L281 TraceCheckUtils]: 33: Hoare triple {18611#(and (exists ((v_dll_circular_create_~head~0.offset_145 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_145)) _destroy_in_nondeterministic_order_~head.base)) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset)))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset))) (_ bv0 32))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset)))))))))) (_ bv1 1))) (not (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))) (= _destroy_in_nondeterministic_order_~pred~0.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset))) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) _destroy_in_nondeterministic_order_~head.offset))))) (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_110)))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))))))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {18615#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (not (= |_destroy_in_nondeterministic_order_#t~mem6.base| _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |_destroy_in_nondeterministic_order_#t~mem6.base|))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_110))))))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1))) (not (= |_destroy_in_nondeterministic_order_#t~mem6.base| _destroy_in_nondeterministic_order_~pred~0.base)))} is VALID [2021-09-14 00:06:39,347 INFO L281 TraceCheckUtils]: 34: Hoare triple {18615#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (not (= |_destroy_in_nondeterministic_order_#t~mem6.base| _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| |_destroy_in_nondeterministic_order_#t~mem6.base|))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_110))))))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1))) (not (= |_destroy_in_nondeterministic_order_#t~mem6.base| _destroy_in_nondeterministic_order_~pred~0.base)))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {18619#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_110))))))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1))) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))} is VALID [2021-09-14 00:06:39,348 INFO L281 TraceCheckUtils]: 35: Hoare triple {18619#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_110))))))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1))) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))} assume !(0bv32 != #t~nondet7);havoc #t~nondet7; {18619#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_110))))))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1))) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))} is VALID [2021-09-14 00:06:39,349 INFO L281 TraceCheckUtils]: 36: Hoare triple {18619#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_110))))))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1))) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))} assume 0bv32 != #t~nondet9;havoc #t~nondet9; {18619#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_110))))))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1))) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))} is VALID [2021-09-14 00:06:39,349 INFO L281 TraceCheckUtils]: 37: Hoare triple {18619#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_110))))))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1))) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))} assume 0bv32 == ~succ~0.offset; {18619#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_110))))))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1))) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))} is VALID [2021-09-14 00:06:39,350 INFO L281 TraceCheckUtils]: 38: Hoare triple {18619#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_110))))))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1))) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))} assume ~bvult32(~succ~0.base, #StackHeapBarrier); {18619#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_110))))))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1))) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))} is VALID [2021-09-14 00:06:39,357 INFO L281 TraceCheckUtils]: 39: Hoare triple {18619#(and (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32))) (and (not (= _destroy_in_nondeterministic_order_~head.base _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~head.base))))))))) (_ bv1 1))))) (exists ((v_arrayElimCell_110 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base))))))) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_110))))))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_110)) (_ bv1 1))))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))))))) (_ bv1 1))) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))} assume 0bv32 == ~succ~0.base || 1bv1 == #valid[~succ~0.base];call ULTIMATE.dealloc(~succ~0.base, ~succ~0.offset); {18635#(and (exists ((v_arrayElimCell_122 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_122)))))))))))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_122) (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))) (exists ((_destroy_in_nondeterministic_order_~succ~0.base (_ BitVec 32))) (and (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))) (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32)) (v_arrayElimCell_123 (_ BitVec 1))) (and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (select |#valid| _destroy_in_nondeterministic_order_~head.base) (bvneg v_arrayElimCell_123))) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_123)))))))))))))))} is VALID [2021-09-14 00:06:39,358 INFO L281 TraceCheckUtils]: 40: Hoare triple {18635#(and (exists ((v_arrayElimCell_122 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_122)))))))))))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_122) (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))) (exists ((_destroy_in_nondeterministic_order_~succ~0.base (_ BitVec 32))) (and (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))) (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32)) (v_arrayElimCell_123 (_ BitVec 1))) (and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (select |#valid| _destroy_in_nondeterministic_order_~head.base) (bvneg v_arrayElimCell_123))) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_123)))))))))))))))} assume !(0bv32 != #t~nondet10);havoc #t~nondet10; {18635#(and (exists ((v_arrayElimCell_122 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_122)))))))))))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_122) (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))) (exists ((_destroy_in_nondeterministic_order_~succ~0.base (_ BitVec 32))) (and (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))) (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32)) (v_arrayElimCell_123 (_ BitVec 1))) (and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (select |#valid| _destroy_in_nondeterministic_order_~head.base) (bvneg v_arrayElimCell_123))) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_123)))))))))))))))} is VALID [2021-09-14 00:06:39,358 INFO L281 TraceCheckUtils]: 41: Hoare triple {18635#(and (exists ((v_arrayElimCell_122 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_122)))))))))))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_122) (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))) (exists ((_destroy_in_nondeterministic_order_~succ~0.base (_ BitVec 32))) (and (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))) (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32)) (v_arrayElimCell_123 (_ BitVec 1))) (and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (select |#valid| _destroy_in_nondeterministic_order_~head.base) (bvneg v_arrayElimCell_123))) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_123)))))))))))))))} assume 0bv32 == ~pred~0.offset; {18635#(and (exists ((v_arrayElimCell_122 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_122)))))))))))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_122) (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))) (exists ((_destroy_in_nondeterministic_order_~succ~0.base (_ BitVec 32))) (and (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))) (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32)) (v_arrayElimCell_123 (_ BitVec 1))) (and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (select |#valid| _destroy_in_nondeterministic_order_~head.base) (bvneg v_arrayElimCell_123))) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_123)))))))))))))))} is VALID [2021-09-14 00:06:39,359 INFO L281 TraceCheckUtils]: 42: Hoare triple {18635#(and (exists ((v_arrayElimCell_122 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_122)))))))))))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_122) (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))) (exists ((_destroy_in_nondeterministic_order_~succ~0.base (_ BitVec 32))) (and (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))) (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32)) (v_arrayElimCell_123 (_ BitVec 1))) (and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (select |#valid| _destroy_in_nondeterministic_order_~head.base) (bvneg v_arrayElimCell_123))) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_123)))))))))))))))} assume ~bvult32(~pred~0.base, #StackHeapBarrier); {18635#(and (exists ((v_arrayElimCell_122 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_122)))))))))))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_122) (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))) (exists ((_destroy_in_nondeterministic_order_~succ~0.base (_ BitVec 32))) (and (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))) (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32)) (v_arrayElimCell_123 (_ BitVec 1))) (and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (select |#valid| _destroy_in_nondeterministic_order_~head.base) (bvneg v_arrayElimCell_123))) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_123)))))))))))))))} is VALID [2021-09-14 00:06:39,360 INFO L281 TraceCheckUtils]: 43: Hoare triple {18635#(and (exists ((v_arrayElimCell_122 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_122)))))))))))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_122) (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base))))) (exists ((_destroy_in_nondeterministic_order_~succ~0.base (_ BitVec 32))) (and (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))) (exists ((_destroy_in_nondeterministic_order_~head.base (_ BitVec 32)) (v_arrayElimCell_123 (_ BitVec 1))) (and (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~head.base)) (= (_ bv0 1) (bvadd (select |#valid| _destroy_in_nondeterministic_order_~head.base) (bvneg v_arrayElimCell_123))) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_123)))))))))))))))} assume !(0bv32 == ~pred~0.base || 1bv1 == #valid[~pred~0.base]); {18494#false} is VALID [2021-09-14 00:06:39,360 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 2 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-14 00:06:39,360 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-14 00:06:41,738 WARN L870 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2021-09-14 00:06:44,663 INFO L354 Elim1Store]: treesize reduction 83, result has 30.8 percent of original size [2021-09-14 00:06:44,664 INFO L388 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 3 case distinctions, treesize of input 93 treesize of output 70 [2021-09-14 00:06:44,727 INFO L354 Elim1Store]: treesize reduction 8, result has 68.0 percent of original size [2021-09-14 00:06:44,728 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 70 treesize of output 78 [2021-09-14 00:06:44,762 INFO L388 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 8 treesize of output 4 [2021-09-14 00:06:44,778 INFO L139 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2021-09-14 00:06:44,779 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [213335436] [2021-09-14 00:06:44,779 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_DEPENDING: Alternating quantifiers not yet supported [2021-09-14 00:06:44,779 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleCvc4 [1276470862] [2021-09-14 00:06:44,779 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-14 00:06:44,779 INFO L170 SolverBuilder]: Constructing external solver with command: cvc4 --incremental --print-success --lang smt [2021-09-14 00:06:44,779 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 [2021-09-14 00:06:44,781 INFO L229 MonitoredProcess]: Starting monitored process 29 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (exit command is (exit), workingDir is null) [2021-09-14 00:06:44,800 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (29)] Waiting until timeout for monitored process [2021-09-14 00:06:44,959 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-14 00:06:44,962 INFO L263 TraceCheckSpWp]: Trace formula consists of 158 conjuncts, 35 conjunts are in the unsatisfiable core [2021-09-14 00:06:44,973 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-14 00:06:44,974 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-14 00:06:45,005 INFO L388 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 [2021-09-14 00:06:45,175 INFO L354 Elim1Store]: treesize reduction 15, result has 46.4 percent of original size [2021-09-14 00:06:45,175 INFO L388 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 20 treesize of output 27 [2021-09-14 00:06:45,462 INFO L354 Elim1Store]: treesize reduction 8, result has 52.9 percent of original size [2021-09-14 00:06:45,463 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 26 treesize of output 28 [2021-09-14 00:06:45,655 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2021-09-14 00:06:45,825 INFO L354 Elim1Store]: treesize reduction 29, result has 19.4 percent of original size [2021-09-14 00:06:45,826 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 38 treesize of output 28 [2021-09-14 00:06:46,259 INFO L354 Elim1Store]: treesize reduction 45, result has 16.7 percent of original size [2021-09-14 00:06:46,259 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 41 treesize of output 38 [2021-09-14 00:06:46,477 INFO L190 IndexEqualityManager]: detected not equals via solver [2021-09-14 00:06:46,501 INFO L354 Elim1Store]: treesize reduction 71, result has 11.3 percent of original size [2021-09-14 00:06:46,501 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 4 case distinctions, treesize of input 58 treesize of output 58 [2021-09-14 00:06:48,391 INFO L354 Elim1Store]: treesize reduction 47, result has 7.8 percent of original size [2021-09-14 00:06:48,391 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 1 disjoint index pairs (out of 6 index pairs), introduced 6 new quantified variables, introduced 6 case distinctions, treesize of input 74 treesize of output 42 [2021-09-14 00:06:48,620 INFO L354 Elim1Store]: treesize reduction 12, result has 40.0 percent of original size [2021-09-14 00:06:48,621 INFO L388 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 21 treesize of output 26 [2021-09-14 00:06:48,929 INFO L264 TraceCheckUtils]: 0: Hoare triple {18493#true} call ULTIMATE.init(); {18493#true} is VALID [2021-09-14 00:06:48,929 INFO L281 TraceCheckUtils]: 1: Hoare triple {18493#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {18493#true} is VALID [2021-09-14 00:06:48,929 INFO L281 TraceCheckUtils]: 2: Hoare triple {18493#true} assume true; {18493#true} is VALID [2021-09-14 00:06:48,929 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {18493#true} {18493#true} #223#return; {18493#true} is VALID [2021-09-14 00:06:48,929 INFO L264 TraceCheckUtils]: 4: Hoare triple {18493#true} call #t~ret13 := main(); {18493#true} is VALID [2021-09-14 00:06:48,929 INFO L281 TraceCheckUtils]: 5: Hoare triple {18493#true} ~len~0 := 3bv32; {18493#true} is VALID [2021-09-14 00:06:48,929 INFO L264 TraceCheckUtils]: 6: Hoare triple {18493#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {18493#true} is VALID [2021-09-14 00:06:48,930 INFO L281 TraceCheckUtils]: 7: Hoare triple {18493#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {18519#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} is VALID [2021-09-14 00:06:48,931 INFO L281 TraceCheckUtils]: 8: Hoare triple {18519#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {18519#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} is VALID [2021-09-14 00:06:48,931 INFO L281 TraceCheckUtils]: 9: Hoare triple {18519#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {18519#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} is VALID [2021-09-14 00:06:48,932 INFO L281 TraceCheckUtils]: 10: Hoare triple {18519#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {18519#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} is VALID [2021-09-14 00:06:48,932 INFO L281 TraceCheckUtils]: 11: Hoare triple {18519#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {18532#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base))} is VALID [2021-09-14 00:06:48,936 INFO L281 TraceCheckUtils]: 12: Hoare triple {18532#(and (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {18536#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (exists ((v_arrayElimCell_107 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| dll_circular_create_~last~0.base) (bvneg v_arrayElimCell_107))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_107) (_ bv1 1))))) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-14 00:06:48,937 INFO L281 TraceCheckUtils]: 13: Hoare triple {18536#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (exists ((v_arrayElimCell_107 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| dll_circular_create_~last~0.base) (bvneg v_arrayElimCell_107))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_107) (_ bv1 1))))) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {18536#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (exists ((v_arrayElimCell_107 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| dll_circular_create_~last~0.base) (bvneg v_arrayElimCell_107))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_107) (_ bv1 1))))) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-14 00:06:48,938 INFO L281 TraceCheckUtils]: 14: Hoare triple {18536#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (exists ((v_arrayElimCell_107 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| dll_circular_create_~last~0.base) (bvneg v_arrayElimCell_107))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_107) (_ bv1 1))))) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {18536#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (exists ((v_arrayElimCell_107 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| dll_circular_create_~last~0.base) (bvneg v_arrayElimCell_107))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_107) (_ bv1 1))))) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-14 00:06:48,938 INFO L281 TraceCheckUtils]: 15: Hoare triple {18536#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (exists ((v_arrayElimCell_107 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| dll_circular_create_~last~0.base) (bvneg v_arrayElimCell_107))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_107) (_ bv1 1))))) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {18546#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-14 00:06:48,939 INFO L281 TraceCheckUtils]: 16: Hoare triple {18546#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {18550#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} is VALID [2021-09-14 00:06:48,940 INFO L281 TraceCheckUtils]: 17: Hoare triple {18550#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {18791#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:06:48,940 INFO L281 TraceCheckUtils]: 18: Hoare triple {18791#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {18791#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:06:48,941 INFO L281 TraceCheckUtils]: 19: Hoare triple {18791#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {18798#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} is VALID [2021-09-14 00:06:48,943 INFO L281 TraceCheckUtils]: 20: Hoare triple {18798#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {18802#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (not (= dll_circular_create_~last~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (exists ((dll_circular_create_~head~0.offset (_ BitVec 32))) (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)))))} is VALID [2021-09-14 00:06:48,945 INFO L281 TraceCheckUtils]: 21: Hoare triple {18802#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (not (= dll_circular_create_~last~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (exists ((dll_circular_create_~head~0.offset (_ BitVec 32))) (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {18806#(and (not (= dll_circular_create_~last~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (exists ((v_dll_circular_create_~head~0.offset_154 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_154)) dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} is VALID [2021-09-14 00:06:48,945 INFO L281 TraceCheckUtils]: 22: Hoare triple {18806#(and (not (= dll_circular_create_~last~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (exists ((v_dll_circular_create_~head~0.offset_154 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_154)) dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} assume !~bvsgt32(~len, 1bv32); {18806#(and (not (= dll_circular_create_~last~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (exists ((v_dll_circular_create_~head~0.offset_154 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_154)) dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} is VALID [2021-09-14 00:06:48,947 INFO L281 TraceCheckUtils]: 23: Hoare triple {18806#(and (not (= dll_circular_create_~last~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~last~0.offset (_ bv0 32)) (exists ((v_dll_circular_create_~head~0.offset_154 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_154)) dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {18813#(and (not (= dll_circular_create_~last~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) (_ bv0 32))) (exists ((v_dll_circular_create_~head~0.offset_154 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_154)) dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} is VALID [2021-09-14 00:06:48,949 INFO L281 TraceCheckUtils]: 24: Hoare triple {18813#(and (not (= dll_circular_create_~last~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) (_ bv0 32))) (exists ((v_dll_circular_create_~head~0.offset_154 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_154)) dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {18817#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))) (_ bv0 32)) dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))))) (_ bv1 1))) (exists ((v_dll_circular_create_~head~0.offset_154 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_154)) dll_circular_create_~head~0.base)) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} is VALID [2021-09-14 00:06:48,951 INFO L281 TraceCheckUtils]: 25: Hoare triple {18817#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))) (_ bv0 32)) dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))))) (_ bv1 1))) (exists ((v_dll_circular_create_~head~0.offset_154 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_154)) dll_circular_create_~head~0.base)) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {18821#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))))) (_ bv1 1))) (= |dll_circular_create_#res.offset| (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))) (_ bv0 32)) |dll_circular_create_#res.base|) (exists ((v_dll_circular_create_~head~0.offset_154 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_154)) |dll_circular_create_#res.base|)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |dll_circular_create_#res.base|)))} is VALID [2021-09-14 00:06:48,951 INFO L281 TraceCheckUtils]: 26: Hoare triple {18821#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))))) (_ bv1 1))) (= |dll_circular_create_#res.offset| (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))) (_ bv0 32)) |dll_circular_create_#res.base|) (exists ((v_dll_circular_create_~head~0.offset_154 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_154)) |dll_circular_create_#res.base|)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |dll_circular_create_#res.base|)))} assume true; {18821#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))))) (_ bv1 1))) (= |dll_circular_create_#res.offset| (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))) (_ bv0 32)) |dll_circular_create_#res.base|) (exists ((v_dll_circular_create_~head~0.offset_154 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_154)) |dll_circular_create_#res.base|)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |dll_circular_create_#res.base|)))} is VALID [2021-09-14 00:06:48,953 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {18821#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))))) (_ bv1 1))) (= |dll_circular_create_#res.offset| (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))) (_ bv0 32)) |dll_circular_create_#res.base|) (exists ((v_dll_circular_create_~head~0.offset_154 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_154)) |dll_circular_create_#res.base|)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |dll_circular_create_#res.base|)))} {18493#true} #219#return; {18828#(and (exists ((v_dll_circular_create_~head~0.offset_154 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_154)) |main_#t~ret12.base|)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32)))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv0 32)) |main_#t~ret12.base|)) (= |main_#t~ret12.offset| (_ bv0 32)) (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32))) (_ bv0 32))))} is VALID [2021-09-14 00:06:48,954 INFO L281 TraceCheckUtils]: 28: Hoare triple {18828#(and (exists ((v_dll_circular_create_~head~0.offset_154 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_154)) |main_#t~ret12.base|)) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32)))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv0 32)) |main_#t~ret12.base|)) (= |main_#t~ret12.offset| (_ bv0 32)) (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32))) (_ bv0 32))))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {18832#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32))))))) (_ bv1 1))) (= main_~head~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32))) (_ bv0 32))) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32)))) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32)) (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32)))) (= main_~head~1.offset (_ bv0 32)) (exists ((v_dll_circular_create_~head~0.offset_154 (_ BitVec 32))) (= main_~head~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_154)))))} is VALID [2021-09-14 00:06:48,956 INFO L264 TraceCheckUtils]: 29: Hoare triple {18832#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32))))))) (_ bv1 1))) (= main_~head~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32))) (_ bv0 32))) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32)))) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32)) (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32)))) (= main_~head~1.offset (_ bv0 32)) (exists ((v_dll_circular_create_~head~0.offset_154 (_ BitVec 32))) (= main_~head~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_154)))))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {18836#(and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32))))))))) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32)) |_destroy_in_nondeterministic_order_#in~head.base|)) (exists ((v_dll_circular_create_~head~0.offset_154 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_154)) |_destroy_in_nondeterministic_order_#in~head.base|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32))) (_ bv0 32)) |_destroy_in_nondeterministic_order_#in~head.base|) (= |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32)))))} is VALID [2021-09-14 00:06:48,956 INFO L281 TraceCheckUtils]: 30: Hoare triple {18836#(and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32))))))))) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32)) |_destroy_in_nondeterministic_order_#in~head.base|)) (exists ((v_dll_circular_create_~head~0.offset_154 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_154)) |_destroy_in_nondeterministic_order_#in~head.base|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32))) (_ bv0 32)) |_destroy_in_nondeterministic_order_#in~head.base|) (= |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32)))))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {18840#(and (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)))) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))))))))) (exists ((v_dll_circular_create_~head~0.offset_154 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_154)) _destroy_in_nondeterministic_order_~head.base)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)))} is VALID [2021-09-14 00:06:48,957 INFO L281 TraceCheckUtils]: 31: Hoare triple {18840#(and (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)))) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))))))))) (exists ((v_dll_circular_create_~head~0.offset_154 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_154)) _destroy_in_nondeterministic_order_~head.base)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {18844#(and (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)))) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))))))))) (exists ((v_dll_circular_create_~head~0.offset_154 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_154)) _destroy_in_nondeterministic_order_~head.base)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (= |_destroy_in_nondeterministic_order_#t~mem5.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset))))} is VALID [2021-09-14 00:06:48,958 INFO L281 TraceCheckUtils]: 32: Hoare triple {18844#(and (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)))) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))))))))) (exists ((v_dll_circular_create_~head~0.offset_154 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_154)) _destroy_in_nondeterministic_order_~head.base)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (= |_destroy_in_nondeterministic_order_#t~mem5.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset))))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {18848#(and (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)))) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))))))))) (exists ((v_dll_circular_create_~head~0.offset_154 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_154)) _destroy_in_nondeterministic_order_~head.base)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base) (= _destroy_in_nondeterministic_order_~pred~0.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)))} is VALID [2021-09-14 00:06:48,959 INFO L281 TraceCheckUtils]: 33: Hoare triple {18848#(and (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)))) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))))))))) (exists ((v_dll_circular_create_~head~0.offset_154 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_154)) _destroy_in_nondeterministic_order_~head.base)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base) (= _destroy_in_nondeterministic_order_~pred~0.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {18677#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select (store |#valid| |_destroy_in_nondeterministic_order_#t~mem6.base| (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base)))) (_ bv1 1)))} is VALID [2021-09-14 00:06:48,960 INFO L281 TraceCheckUtils]: 34: Hoare triple {18677#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select (store |#valid| |_destroy_in_nondeterministic_order_#t~mem6.base| (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base)))) (_ bv1 1)))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {18661#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base))) (_ bv1 1)))} is VALID [2021-09-14 00:06:48,960 INFO L281 TraceCheckUtils]: 35: Hoare triple {18661#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base))) (_ bv1 1)))} assume !(0bv32 != #t~nondet7);havoc #t~nondet7; {18661#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base))) (_ bv1 1)))} is VALID [2021-09-14 00:06:48,961 INFO L281 TraceCheckUtils]: 36: Hoare triple {18661#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base))) (_ bv1 1)))} assume 0bv32 != #t~nondet9;havoc #t~nondet9; {18661#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base))) (_ bv1 1)))} is VALID [2021-09-14 00:06:48,961 INFO L281 TraceCheckUtils]: 37: Hoare triple {18661#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base))) (_ bv1 1)))} assume 0bv32 == ~succ~0.offset; {18661#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base))) (_ bv1 1)))} is VALID [2021-09-14 00:06:48,961 INFO L281 TraceCheckUtils]: 38: Hoare triple {18661#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base))) (_ bv1 1)))} assume ~bvult32(~succ~0.base, #StackHeapBarrier); {18661#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base))) (_ bv1 1)))} is VALID [2021-09-14 00:06:48,964 INFO L281 TraceCheckUtils]: 39: Hoare triple {18661#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base))) (_ bv1 1)))} assume 0bv32 == ~succ~0.base || 1bv1 == #valid[~succ~0.base];call ULTIMATE.dealloc(~succ~0.base, ~succ~0.offset); {18870#(and (exists ((_destroy_in_nondeterministic_order_~succ~0.base (_ BitVec 32))) (and (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))) (exists ((v_arrayElimCell_143 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg v_arrayElimCell_143))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_143)) (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))))))} is VALID [2021-09-14 00:06:48,965 INFO L281 TraceCheckUtils]: 40: Hoare triple {18870#(and (exists ((_destroy_in_nondeterministic_order_~succ~0.base (_ BitVec 32))) (and (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))) (exists ((v_arrayElimCell_143 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg v_arrayElimCell_143))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_143)) (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))))))} assume !(0bv32 != #t~nondet10);havoc #t~nondet10; {18870#(and (exists ((_destroy_in_nondeterministic_order_~succ~0.base (_ BitVec 32))) (and (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))) (exists ((v_arrayElimCell_143 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg v_arrayElimCell_143))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_143)) (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))))))} is VALID [2021-09-14 00:06:48,966 INFO L281 TraceCheckUtils]: 41: Hoare triple {18870#(and (exists ((_destroy_in_nondeterministic_order_~succ~0.base (_ BitVec 32))) (and (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))) (exists ((v_arrayElimCell_143 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg v_arrayElimCell_143))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_143)) (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))))))} assume 0bv32 == ~pred~0.offset; {18870#(and (exists ((_destroy_in_nondeterministic_order_~succ~0.base (_ BitVec 32))) (and (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))) (exists ((v_arrayElimCell_143 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg v_arrayElimCell_143))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_143)) (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))))))} is VALID [2021-09-14 00:06:48,966 INFO L281 TraceCheckUtils]: 42: Hoare triple {18870#(and (exists ((_destroy_in_nondeterministic_order_~succ~0.base (_ BitVec 32))) (and (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))) (exists ((v_arrayElimCell_143 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg v_arrayElimCell_143))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_143)) (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))))))} assume ~bvult32(~pred~0.base, #StackHeapBarrier); {18870#(and (exists ((_destroy_in_nondeterministic_order_~succ~0.base (_ BitVec 32))) (and (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))) (exists ((v_arrayElimCell_143 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg v_arrayElimCell_143))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_143)) (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))))))} is VALID [2021-09-14 00:06:48,967 INFO L281 TraceCheckUtils]: 43: Hoare triple {18870#(and (exists ((_destroy_in_nondeterministic_order_~succ~0.base (_ BitVec 32))) (and (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))) (exists ((v_arrayElimCell_143 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg v_arrayElimCell_143))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_143)) (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))))))} assume !(0bv32 == ~pred~0.base || 1bv1 == #valid[~pred~0.base]); {18494#false} is VALID [2021-09-14 00:06:48,967 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-14 00:06:48,967 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-14 00:06:50,653 WARN L870 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2021-09-14 00:06:50,958 INFO L388 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 50 treesize of output 46 [2021-09-14 00:07:07,823 INFO L354 Elim1Store]: treesize reduction 83, result has 30.8 percent of original size [2021-09-14 00:07:07,823 INFO L388 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 3 case distinctions, treesize of input 73 treesize of output 50 [2021-09-14 00:07:07,867 INFO L354 Elim1Store]: treesize reduction 8, result has 68.0 percent of original size [2021-09-14 00:07:07,867 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 50 treesize of output 58 [2021-09-14 00:07:07,893 INFO L388 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 8 treesize of output 4 [2021-09-14 00:07:07,928 INFO L173 IndexEqualityManager]: detected equality via solver [2021-09-14 00:07:07,932 INFO L388 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 13 treesize of output 9 [2021-09-14 00:07:07,976 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_DEPENDING: Alternating quantifiers not yet supported [2021-09-14 00:07:07,976 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [647700778] [2021-09-14 00:07:07,976 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-09-14 00:07:07,976 INFO L170 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-09-14 00:07:07,976 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-09-14 00:07:07,978 INFO L229 MonitoredProcess]: Starting monitored process 30 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2021-09-14 00:07:07,978 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Waiting until timeout for monitored process [2021-09-14 00:07:08,069 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-14 00:07:08,072 INFO L263 TraceCheckSpWp]: Trace formula consists of 158 conjuncts, 33 conjunts are in the unsatisfiable core [2021-09-14 00:07:08,084 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-09-14 00:07:08,085 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-09-14 00:07:08,350 INFO L354 Elim1Store]: treesize reduction 15, result has 46.4 percent of original size [2021-09-14 00:07:08,350 INFO L388 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 22 treesize of output 29 [2021-09-14 00:07:08,902 INFO L354 Elim1Store]: treesize reduction 8, result has 52.9 percent of original size [2021-09-14 00:07:08,902 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 26 treesize of output 28 [2021-09-14 00:07:09,059 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2021-09-14 00:07:09,216 INFO L354 Elim1Store]: treesize reduction 29, result has 19.4 percent of original size [2021-09-14 00:07:09,217 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 38 treesize of output 28 [2021-09-14 00:07:09,624 INFO L354 Elim1Store]: treesize reduction 45, result has 16.7 percent of original size [2021-09-14 00:07:09,624 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 41 treesize of output 38 [2021-09-14 00:07:09,852 INFO L190 IndexEqualityManager]: detected not equals via solver [2021-09-14 00:07:09,889 INFO L354 Elim1Store]: treesize reduction 102, result has 14.3 percent of original size [2021-09-14 00:07:09,889 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 5 case distinctions, treesize of input 62 treesize of output 62 [2021-09-14 00:07:11,781 INFO L354 Elim1Store]: treesize reduction 66, result has 1.5 percent of original size [2021-09-14 00:07:11,781 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 1 disjoint index pairs (out of 6 index pairs), introduced 6 new quantified variables, introduced 6 case distinctions, treesize of input 88 treesize of output 48 [2021-09-14 00:07:12,000 INFO L354 Elim1Store]: treesize reduction 12, result has 40.0 percent of original size [2021-09-14 00:07:12,001 INFO L388 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 21 treesize of output 26 [2021-09-14 00:07:12,298 INFO L264 TraceCheckUtils]: 0: Hoare triple {18493#true} call ULTIMATE.init(); {18493#true} is VALID [2021-09-14 00:07:12,298 INFO L281 TraceCheckUtils]: 1: Hoare triple {18493#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {18493#true} is VALID [2021-09-14 00:07:12,298 INFO L281 TraceCheckUtils]: 2: Hoare triple {18493#true} assume true; {18493#true} is VALID [2021-09-14 00:07:12,298 INFO L276 TraceCheckUtils]: 3: Hoare quadruple {18493#true} {18493#true} #223#return; {18493#true} is VALID [2021-09-14 00:07:12,298 INFO L264 TraceCheckUtils]: 4: Hoare triple {18493#true} call #t~ret13 := main(); {18493#true} is VALID [2021-09-14 00:07:12,298 INFO L281 TraceCheckUtils]: 5: Hoare triple {18493#true} ~len~0 := 3bv32; {18493#true} is VALID [2021-09-14 00:07:12,298 INFO L264 TraceCheckUtils]: 6: Hoare triple {18493#true} call #t~ret12.base, #t~ret12.offset := dll_circular_create(~len~0); {18493#true} is VALID [2021-09-14 00:07:12,298 INFO L281 TraceCheckUtils]: 7: Hoare triple {18493#true} ~len := #in~len;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8bv32);~last~0.base, ~last~0.offset := #t~malloc2.base, #t~malloc2.offset;havoc #t~malloc2.base, #t~malloc2.offset; {18493#true} is VALID [2021-09-14 00:07:12,298 INFO L281 TraceCheckUtils]: 8: Hoare triple {18493#true} assume !(0bv32 == ~last~0.base && 0bv32 == ~last~0.offset); {18493#true} is VALID [2021-09-14 00:07:12,299 INFO L281 TraceCheckUtils]: 9: Hoare triple {18493#true} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L565-1 {18990#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} is VALID [2021-09-14 00:07:12,299 INFO L281 TraceCheckUtils]: 10: Hoare triple {18990#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); srcloc: L568 {18990#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} is VALID [2021-09-14 00:07:12,299 INFO L281 TraceCheckUtils]: 11: Hoare triple {18990#(= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1)))} ~head~0.base, ~head~0.offset := ~last~0.base, ~last~0.offset; {18997#(and (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base))} is VALID [2021-09-14 00:07:12,304 INFO L281 TraceCheckUtils]: 12: Hoare triple {18997#(and (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {19001#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (exists ((v_arrayElimCell_151 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| dll_circular_create_~last~0.base) (bvneg v_arrayElimCell_151))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_151)))) (_ bv1 1))))) (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-14 00:07:12,304 INFO L281 TraceCheckUtils]: 13: Hoare triple {19001#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (exists ((v_arrayElimCell_151 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| dll_circular_create_~last~0.base) (bvneg v_arrayElimCell_151))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_151)))) (_ bv1 1))))) (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {19001#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (exists ((v_arrayElimCell_151 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| dll_circular_create_~last~0.base) (bvneg v_arrayElimCell_151))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_151)))) (_ bv1 1))))) (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-14 00:07:12,305 INFO L281 TraceCheckUtils]: 14: Hoare triple {19001#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (exists ((v_arrayElimCell_151 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| dll_circular_create_~last~0.base) (bvneg v_arrayElimCell_151))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_151)))) (_ bv1 1))))) (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {19001#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (exists ((v_arrayElimCell_151 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| dll_circular_create_~last~0.base) (bvneg v_arrayElimCell_151))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_151)))) (_ bv1 1))))) (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-14 00:07:12,305 INFO L281 TraceCheckUtils]: 15: Hoare triple {19001#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (exists ((v_arrayElimCell_151 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (select |#valid| dll_circular_create_~last~0.base) (bvneg v_arrayElimCell_151))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg v_arrayElimCell_151)))) (_ bv1 1))))) (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {19011#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} is VALID [2021-09-14 00:07:12,306 INFO L281 TraceCheckUtils]: 16: Hoare triple {19011#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| dll_circular_create_~new_head~0.base))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {19015#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} is VALID [2021-09-14 00:07:12,307 INFO L281 TraceCheckUtils]: 17: Hoare triple {19015#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| dll_circular_create_~head~0.base))) (_ bv1 1))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))))} assume !!~bvsgt32(~len, 1bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset;havoc #t~malloc3.base, #t~malloc3.offset; {19019#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:07:12,307 INFO L281 TraceCheckUtils]: 18: Hoare triple {19019#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {19019#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} is VALID [2021-09-14 00:07:12,308 INFO L281 TraceCheckUtils]: 19: Hoare triple {19019#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32); srcloc: L573-1 {19026#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} is VALID [2021-09-14 00:07:12,310 INFO L281 TraceCheckUtils]: 20: Hoare triple {19026#(and (not (= dll_circular_create_~head~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L576 {19030#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (exists ((dll_circular_create_~head~0.offset (_ BitVec 32))) (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)))))} is VALID [2021-09-14 00:07:12,312 INFO L281 TraceCheckUtils]: 21: Hoare triple {19030#(and (not (= dll_circular_create_~last~0.base dll_circular_create_~new_head~0.base)) (not (= dll_circular_create_~last~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (not (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset))) (= dll_circular_create_~new_head~0.offset (_ bv0 32)) (exists ((dll_circular_create_~head~0.offset (_ BitVec 32))) (= dll_circular_create_~new_head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~new_head~0.base) dll_circular_create_~new_head~0.offset)) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)))))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post4 := ~len;~len := ~bvsub32(#t~post4, 1bv32);havoc #t~post4; {19034#(and (not (= dll_circular_create_~last~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.offset_163 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_163)) dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} is VALID [2021-09-14 00:07:12,312 INFO L281 TraceCheckUtils]: 22: Hoare triple {19034#(and (not (= dll_circular_create_~last~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.offset_163 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_163)) dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} assume !~bvsgt32(~len, 1bv32); {19034#(and (not (= dll_circular_create_~last~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.offset_163 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_163)) dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} is VALID [2021-09-14 00:07:12,314 INFO L281 TraceCheckUtils]: 23: Hoare triple {19034#(and (not (= dll_circular_create_~last~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.offset_163 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_163)) dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4bv32); srcloc: L571-3 {19041#(and (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset))) (not (= dll_circular_create_~last~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (exists ((v_dll_circular_create_~head~0.offset_163 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_163)) dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} is VALID [2021-09-14 00:07:12,321 INFO L281 TraceCheckUtils]: 24: Hoare triple {19041#(and (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset))) (not (= dll_circular_create_~last~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (not (= dll_circular_create_~last~0.base dll_circular_create_~head~0.base)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| dll_circular_create_~last~0.base)) (_ bv1 1))) (exists ((v_dll_circular_create_~head~0.offset_163 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_163)) dll_circular_create_~head~0.base)) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} SUMMARY for call write~$Pointer$(~last~0.base, ~last~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32); srcloc: L581 {19045#(and (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))) dll_circular_create_~last~0.offset) dll_circular_create_~head~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.offset_163 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_163)) dll_circular_create_~head~0.base)) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} is VALID [2021-09-14 00:07:12,322 INFO L281 TraceCheckUtils]: 25: Hoare triple {19045#(and (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))) dll_circular_create_~last~0.offset) dll_circular_create_~head~0.base)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) dll_circular_create_~head~0.base)) (exists ((v_dll_circular_create_~head~0.offset_163 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_163)) dll_circular_create_~head~0.base)) (not (= (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset)) (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))) (= dll_circular_create_~head~0.offset (_ bv0 32)) (not (= dll_circular_create_~head~0.base (select (select |#memory_$Pointer$.base| dll_circular_create_~head~0.base) dll_circular_create_~head~0.offset))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {19049#(and (exists ((v_dll_circular_create_~head~0.offset_163 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_163)) |dll_circular_create_#res.base|)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))))) (_ bv1 1))) (= |dll_circular_create_#res.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |dll_circular_create_#res.base|)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |dll_circular_create_#res.base|)))} is VALID [2021-09-14 00:07:12,323 INFO L281 TraceCheckUtils]: 26: Hoare triple {19049#(and (exists ((v_dll_circular_create_~head~0.offset_163 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_163)) |dll_circular_create_#res.base|)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))))) (_ bv1 1))) (= |dll_circular_create_#res.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |dll_circular_create_#res.base|)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |dll_circular_create_#res.base|)))} assume true; {19049#(and (exists ((v_dll_circular_create_~head~0.offset_163 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_163)) |dll_circular_create_#res.base|)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))))) (_ bv1 1))) (= |dll_circular_create_#res.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |dll_circular_create_#res.base|)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |dll_circular_create_#res.base|)))} is VALID [2021-09-14 00:07:12,325 INFO L276 TraceCheckUtils]: 27: Hoare quadruple {19049#(and (exists ((v_dll_circular_create_~head~0.offset_163 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|)) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_163)) |dll_circular_create_#res.base|)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))) dll_circular_create_~last~0.offset) |dll_circular_create_#res.base|)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32)))))) (_ bv1 1))) (= |dll_circular_create_#res.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) |dll_circular_create_#res.base|)) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) (bvadd |dll_circular_create_#res.offset| (_ bv4 32))) (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|))) (not (= (select (select |#memory_$Pointer$.base| |dll_circular_create_#res.base|) |dll_circular_create_#res.offset|) |dll_circular_create_#res.base|)))} {18493#true} #219#return; {19056#(and (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32))) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_163 (_ BitVec 32))) (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_163)))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32)))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv0 32)) |main_#t~ret12.base|)) (= |main_#t~ret12.offset| (_ bv0 32)) (not (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32)))))} is VALID [2021-09-14 00:07:12,327 INFO L281 TraceCheckUtils]: 28: Hoare triple {19056#(and (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32))) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_163 (_ BitVec 32))) (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_163)))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32)))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv0 32)) |main_#t~ret12.base|)) (= |main_#t~ret12.offset| (_ bv0 32)) (not (= |main_#t~ret12.base| (select (select |#memory_$Pointer$.base| |main_#t~ret12.base|) (_ bv4 32)))))} ~head~1.base, ~head~1.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {19060#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32))))))) (_ bv1 1))) (exists ((v_dll_circular_create_~head~0.offset_163 (_ BitVec 32))) (= main_~head~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_163)))) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32)))) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32)) (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32)))) (= main_~head~1.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32))) dll_circular_create_~last~0.offset) main_~head~1.base)) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32)) main_~head~1.base)))} is VALID [2021-09-14 00:07:12,335 INFO L264 TraceCheckUtils]: 29: Hoare triple {19060#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32))))))) (_ bv1 1))) (exists ((v_dll_circular_create_~head~0.offset_163 (_ BitVec 32))) (= main_~head~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_163)))) (not (= main_~head~1.base (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32)))) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32)) (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv0 32)))) (= main_~head~1.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32))) dll_circular_create_~last~0.offset) main_~head~1.base)) (not (= (select (select |#memory_$Pointer$.base| main_~head~1.base) (_ bv4 32)) main_~head~1.base)))} call _destroy_in_nondeterministic_order(~head~1.base, ~head~1.offset); {19064#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32)))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32)) |_destroy_in_nondeterministic_order_#in~head.base|)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32))) dll_circular_create_~last~0.offset) |_destroy_in_nondeterministic_order_#in~head.base|)) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32)) |_destroy_in_nondeterministic_order_#in~head.base|)) (= |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32)))) (exists ((v_dll_circular_create_~head~0.offset_163 (_ BitVec 32))) (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_163)))))} is VALID [2021-09-14 00:07:12,337 INFO L281 TraceCheckUtils]: 30: Hoare triple {19064#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32)))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32)) |_destroy_in_nondeterministic_order_#in~head.base|)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32))) dll_circular_create_~last~0.offset) |_destroy_in_nondeterministic_order_#in~head.base|)) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32)) |_destroy_in_nondeterministic_order_#in~head.base|)) (= |_destroy_in_nondeterministic_order_#in~head.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv4 32)))) (exists ((v_dll_circular_create_~head~0.offset_163 (_ BitVec 32))) (= |_destroy_in_nondeterministic_order_#in~head.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |_destroy_in_nondeterministic_order_#in~head.base|) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_163)))))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {19068#(and (= (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)))))))))))) (_ bv1 1)) (_ bv0 1)) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_163 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_163)) _destroy_in_nondeterministic_order_~head.base)))} is VALID [2021-09-14 00:07:12,337 INFO L281 TraceCheckUtils]: 31: Hoare triple {19068#(and (= (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)))))))))))) (_ bv1 1)) (_ bv0 1)) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) dll_circular_create_~last~0.offset))) (exists ((v_dll_circular_create_~head~0.offset_163 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_163)) _destroy_in_nondeterministic_order_~head.base)))} SUMMARY for call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~bvadd32(4bv32, ~head.offset), 4bv32); srcloc: L586 {19072#(and (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (= |_destroy_in_nondeterministic_order_#t~mem5.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset))) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) dll_circular_create_~last~0.offset))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))))))))))))) (_ bv1 1))) (exists ((v_dll_circular_create_~head~0.offset_163 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_163)) _destroy_in_nondeterministic_order_~head.base)))} is VALID [2021-09-14 00:07:12,338 INFO L281 TraceCheckUtils]: 32: Hoare triple {19072#(and (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (= |_destroy_in_nondeterministic_order_#t~mem5.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset))) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) dll_circular_create_~last~0.offset))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))))))))))))) (_ bv1 1))) (exists ((v_dll_circular_create_~head~0.offset_163 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_163)) _destroy_in_nondeterministic_order_~head.base)))} ~pred~0.base, ~pred~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {19076#(and (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)))) (= _destroy_in_nondeterministic_order_~pred~0.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) dll_circular_create_~last~0.offset))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))))))))))))) (_ bv1 1))) (exists ((v_dll_circular_create_~head~0.offset_163 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_163)) _destroy_in_nondeterministic_order_~head.base)))} is VALID [2021-09-14 00:07:12,340 INFO L281 TraceCheckUtils]: 33: Hoare triple {19076#(and (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)))) (= _destroy_in_nondeterministic_order_~pred~0.base (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (bvadd (_ bv4 32) _destroy_in_nondeterministic_order_~head.offset))) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32)) _destroy_in_nondeterministic_order_~head.base)) (not (= (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32)) _destroy_in_nondeterministic_order_~head.base)) (= _destroy_in_nondeterministic_order_~head.offset (_ bv0 32)) (exists ((dll_circular_create_~last~0.offset (_ BitVec 32))) (= _destroy_in_nondeterministic_order_~head.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))) dll_circular_create_~last~0.offset))) (= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv4 32))))))))))))) (_ bv1 1))) (exists ((v_dll_circular_create_~head~0.offset_163 (_ BitVec 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| _destroy_in_nondeterministic_order_~head.base) (_ bv0 32))) (bvadd (_ bv4 32) v_dll_circular_create_~head~0.offset_163)) _destroy_in_nondeterministic_order_~head.base)))} SUMMARY for call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L587 {18677#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select (store |#valid| |_destroy_in_nondeterministic_order_#t~mem6.base| (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base)))) (_ bv1 1)))} is VALID [2021-09-14 00:07:12,340 INFO L281 TraceCheckUtils]: 34: Hoare triple {18677#(= (_ bv0 1) (bvadd (bvneg (bvneg (bvneg (select (store |#valid| |_destroy_in_nondeterministic_order_#t~mem6.base| (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base)))) (_ bv1 1)))} ~succ~0.base, ~succ~0.offset := #t~mem6.base, #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset; {18661#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base))) (_ bv1 1)))} is VALID [2021-09-14 00:07:12,340 INFO L281 TraceCheckUtils]: 35: Hoare triple {18661#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base))) (_ bv1 1)))} assume !(0bv32 != #t~nondet7);havoc #t~nondet7; {18661#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base))) (_ bv1 1)))} is VALID [2021-09-14 00:07:12,341 INFO L281 TraceCheckUtils]: 36: Hoare triple {18661#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base))) (_ bv1 1)))} assume 0bv32 != #t~nondet9;havoc #t~nondet9; {18661#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base))) (_ bv1 1)))} is VALID [2021-09-14 00:07:12,341 INFO L281 TraceCheckUtils]: 37: Hoare triple {18661#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base))) (_ bv1 1)))} assume 0bv32 == ~succ~0.offset; {18661#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base))) (_ bv1 1)))} is VALID [2021-09-14 00:07:12,341 INFO L281 TraceCheckUtils]: 38: Hoare triple {18661#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base))) (_ bv1 1)))} assume ~bvult32(~succ~0.base, #StackHeapBarrier); {18661#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base))) (_ bv1 1)))} is VALID [2021-09-14 00:07:12,345 INFO L281 TraceCheckUtils]: 39: Hoare triple {18661#(= (_ bv0 1) (bvadd (bvneg (bvneg (select (store |#valid| _destroy_in_nondeterministic_order_~succ~0.base (_ bv0 1)) _destroy_in_nondeterministic_order_~pred~0.base))) (_ bv1 1)))} assume 0bv32 == ~succ~0.base || 1bv1 == #valid[~succ~0.base];call ULTIMATE.dealloc(~succ~0.base, ~succ~0.offset); {18870#(and (exists ((_destroy_in_nondeterministic_order_~succ~0.base (_ BitVec 32))) (and (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))) (exists ((v_arrayElimCell_143 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg v_arrayElimCell_143))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_143)) (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))))))} is VALID [2021-09-14 00:07:12,345 INFO L281 TraceCheckUtils]: 40: Hoare triple {18870#(and (exists ((_destroy_in_nondeterministic_order_~succ~0.base (_ BitVec 32))) (and (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))) (exists ((v_arrayElimCell_143 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg v_arrayElimCell_143))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_143)) (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))))))} assume !(0bv32 != #t~nondet10);havoc #t~nondet10; {18870#(and (exists ((_destroy_in_nondeterministic_order_~succ~0.base (_ BitVec 32))) (and (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))) (exists ((v_arrayElimCell_143 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg v_arrayElimCell_143))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_143)) (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))))))} is VALID [2021-09-14 00:07:12,345 INFO L281 TraceCheckUtils]: 41: Hoare triple {18870#(and (exists ((_destroy_in_nondeterministic_order_~succ~0.base (_ BitVec 32))) (and (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))) (exists ((v_arrayElimCell_143 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg v_arrayElimCell_143))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_143)) (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))))))} assume 0bv32 == ~pred~0.offset; {18870#(and (exists ((_destroy_in_nondeterministic_order_~succ~0.base (_ BitVec 32))) (and (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))) (exists ((v_arrayElimCell_143 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg v_arrayElimCell_143))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_143)) (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))))))} is VALID [2021-09-14 00:07:12,346 INFO L281 TraceCheckUtils]: 42: Hoare triple {18870#(and (exists ((_destroy_in_nondeterministic_order_~succ~0.base (_ BitVec 32))) (and (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))) (exists ((v_arrayElimCell_143 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg v_arrayElimCell_143))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_143)) (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))))))} assume ~bvult32(~pred~0.base, #StackHeapBarrier); {18870#(and (exists ((_destroy_in_nondeterministic_order_~succ~0.base (_ BitVec 32))) (and (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))) (exists ((v_arrayElimCell_143 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg v_arrayElimCell_143))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_143)) (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))))))} is VALID [2021-09-14 00:07:12,346 INFO L281 TraceCheckUtils]: 43: Hoare triple {18870#(and (exists ((_destroy_in_nondeterministic_order_~succ~0.base (_ BitVec 32))) (and (= (_ bv0 1) (select |#valid| _destroy_in_nondeterministic_order_~succ~0.base)) (not (= _destroy_in_nondeterministic_order_~pred~0.base _destroy_in_nondeterministic_order_~succ~0.base)))) (exists ((v_arrayElimCell_143 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (bvneg (bvneg v_arrayElimCell_143))))) (= (_ bv0 1) (bvadd (bvneg (bvneg v_arrayElimCell_143)) (bvneg (select |#valid| _destroy_in_nondeterministic_order_~pred~0.base)))))))} assume !(0bv32 == ~pred~0.base || 1bv1 == #valid[~pred~0.base]); {18494#false} is VALID [2021-09-14 00:07:12,347 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-09-14 00:07:12,347 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2021-09-14 00:07:14,288 INFO L388 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 50 treesize of output 46 [2021-09-14 00:07:16,307 WARN L838 $PredicateComparison]: unable to prove that (forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (not (= c_dll_circular_create_~last~0.base (select (store (select (store |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~head~0.base)) c_dll_circular_create_~head~0.base) (bvadd (_ bv4 32) c_dll_circular_create_~head~0.offset) c_dll_circular_create_~last~0.base) c_dll_circular_create_~head~0.offset)))) is different from false [2021-09-14 00:07:18,334 WARN L838 $PredicateComparison]: unable to prove that (forall ((dll_circular_create_~last~0.offset (_ BitVec 32))) (not (= (select (store (select (store |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.base)) c_dll_circular_create_~new_head~0.base) (bvadd c_dll_circular_create_~new_head~0.offset (_ bv4 32)) c_dll_circular_create_~last~0.base) c_dll_circular_create_~new_head~0.offset) c_dll_circular_create_~last~0.base))) is different from false [2021-09-14 00:07:20,360 WARN L838 $PredicateComparison]: unable to prove that (forall ((dll_circular_create_~last~0.offset (_ BitVec 32)) (dll_circular_create_~head~0.offset (_ BitVec 32))) (not (= c_dll_circular_create_~last~0.base (select (store (select (let ((.cse0 (store |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base (store (select |c_#memory_$Pointer$.base| c_dll_circular_create_~head~0.base) (bvadd (_ bv4 32) dll_circular_create_~head~0.offset) c_dll_circular_create_~new_head~0.base)))) (store .cse0 c_dll_circular_create_~last~0.base (store (select .cse0 c_dll_circular_create_~last~0.base) dll_circular_create_~last~0.offset c_dll_circular_create_~new_head~0.base))) c_dll_circular_create_~new_head~0.base) (bvadd c_dll_circular_create_~new_head~0.offset (_ bv4 32)) c_dll_circular_create_~last~0.base) c_dll_circular_create_~new_head~0.offset)))) is different from false [2021-09-14 00:07:20,472 INFO L354 Elim1Store]: treesize reduction 83, result has 30.8 percent of original size [2021-09-14 00:07:20,472 INFO L388 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 3 case distinctions, treesize of input 73 treesize of output 50 [2021-09-14 00:07:20,525 INFO L354 Elim1Store]: treesize reduction 8, result has 68.0 percent of original size [2021-09-14 00:07:20,526 INFO L388 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 50 treesize of output 58 [2021-09-14 00:07:20,594 INFO L388 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 8 treesize of output 4 [2021-09-14 00:07:20,631 INFO L173 IndexEqualityManager]: detected equality via solver [2021-09-14 00:07:20,634 INFO L388 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 13 treesize of output 9 [2021-09-14 00:07:20,688 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_DEPENDING: Alternating quantifiers not yet supported [2021-09-14 00:07:20,688 INFO L186 FreeRefinementEngine]: Constructing automaton from 0 perfect and 0 imperfect interpolant sequences. [2021-09-14 00:07:20,688 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [] total 0 [2021-09-14 00:07:20,688 ERROR L172 FreeRefinementEngine]: Strategy WOLF failed to provide any proof altough trace is infeasible [2021-09-14 00:07:20,688 INFO L627 BasicCegarLoop]: Counterexample might be feasible [2021-09-14 00:07:20,691 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr30ASSERT_VIOLATIONMEMORY_FREE (58 of 59 remaining) [2021-09-14 00:07:20,692 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr0REQUIRES_VIOLATION (57 of 59 remaining) [2021-09-14 00:07:20,692 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr1REQUIRES_VIOLATION (56 of 59 remaining) [2021-09-14 00:07:20,692 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr2REQUIRES_VIOLATION (55 of 59 remaining) [2021-09-14 00:07:20,693 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr3REQUIRES_VIOLATION (54 of 59 remaining) [2021-09-14 00:07:20,693 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr4ASSERT_VIOLATIONMEMORY_FREE (53 of 59 remaining) [2021-09-14 00:07:20,693 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr5ASSERT_VIOLATIONMEMORY_FREE (52 of 59 remaining) [2021-09-14 00:07:20,693 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr6ASSERT_VIOLATIONMEMORY_FREE (51 of 59 remaining) [2021-09-14 00:07:20,693 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr7ASSERT_VIOLATIONMEMORY_FREE (50 of 59 remaining) [2021-09-14 00:07:20,693 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr8ASSERT_VIOLATIONMEMORY_FREE (49 of 59 remaining) [2021-09-14 00:07:20,693 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr9ASSERT_VIOLATIONMEMORY_FREE (48 of 59 remaining) [2021-09-14 00:07:20,693 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr10ASSERT_VIOLATIONMEMORY_FREE (47 of 59 remaining) [2021-09-14 00:07:20,693 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr11ASSERT_VIOLATIONMEMORY_FREE (46 of 59 remaining) [2021-09-14 00:07:20,693 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr12ASSERT_VIOLATIONMEMORY_FREE (45 of 59 remaining) [2021-09-14 00:07:20,693 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr13ASSERT_VIOLATIONMEMORY_FREE (44 of 59 remaining) [2021-09-14 00:07:20,693 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr14ASSERT_VIOLATIONMEMORY_FREE (43 of 59 remaining) [2021-09-14 00:07:20,693 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr15ASSERT_VIOLATIONMEMORY_FREE (42 of 59 remaining) [2021-09-14 00:07:20,693 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr16ASSERT_VIOLATIONMEMORY_FREE (41 of 59 remaining) [2021-09-14 00:07:20,693 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr17ASSERT_VIOLATIONMEMORY_FREE (40 of 59 remaining) [2021-09-14 00:07:20,694 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr18ASSERT_VIOLATIONMEMORY_FREE (39 of 59 remaining) [2021-09-14 00:07:20,694 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr19ASSERT_VIOLATIONMEMORY_FREE (38 of 59 remaining) [2021-09-14 00:07:20,694 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr20ASSERT_VIOLATIONMEMORY_FREE (37 of 59 remaining) [2021-09-14 00:07:20,694 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr21ASSERT_VIOLATIONMEMORY_FREE (36 of 59 remaining) [2021-09-14 00:07:20,694 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr22ASSERT_VIOLATIONMEMORY_FREE (35 of 59 remaining) [2021-09-14 00:07:20,694 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr23ASSERT_VIOLATIONMEMORY_FREE (34 of 59 remaining) [2021-09-14 00:07:20,694 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr24ASSERT_VIOLATIONMEMORY_FREE (33 of 59 remaining) [2021-09-14 00:07:20,694 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr25ASSERT_VIOLATIONMEMORY_FREE (32 of 59 remaining) [2021-09-14 00:07:20,694 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr26ASSERT_VIOLATIONMEMORY_FREE (31 of 59 remaining) [2021-09-14 00:07:20,694 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr27ASSERT_VIOLATIONMEMORY_FREE (30 of 59 remaining) [2021-09-14 00:07:20,694 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr28ASSERT_VIOLATIONMEMORY_FREE (29 of 59 remaining) [2021-09-14 00:07:20,695 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr29ASSERT_VIOLATIONMEMORY_FREE (28 of 59 remaining) [2021-09-14 00:07:20,695 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr31ASSERT_VIOLATIONMEMORY_FREE (27 of 59 remaining) [2021-09-14 00:07:20,695 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr32ASSERT_VIOLATIONMEMORY_FREE (26 of 59 remaining) [2021-09-14 00:07:20,695 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr33ASSERT_VIOLATIONMEMORY_FREE (25 of 59 remaining) [2021-09-14 00:07:20,695 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr34ASSERT_VIOLATIONMEMORY_FREE (24 of 59 remaining) [2021-09-14 00:07:20,695 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr35ASSERT_VIOLATIONMEMORY_FREE (23 of 59 remaining) [2021-09-14 00:07:20,695 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr36ASSERT_VIOLATIONMEMORY_FREE (22 of 59 remaining) [2021-09-14 00:07:20,695 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr37ASSERT_VIOLATIONMEMORY_FREE (21 of 59 remaining) [2021-09-14 00:07:20,696 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr38ASSERT_VIOLATIONMEMORY_FREE (20 of 59 remaining) [2021-09-14 00:07:20,696 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr39ASSERT_VIOLATIONMEMORY_FREE (19 of 59 remaining) [2021-09-14 00:07:20,696 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr40ASSERT_VIOLATIONMEMORY_FREE (18 of 59 remaining) [2021-09-14 00:07:20,696 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr41ASSERT_VIOLATIONMEMORY_FREE (17 of 59 remaining) [2021-09-14 00:07:20,696 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr42ASSERT_VIOLATIONMEMORY_FREE (16 of 59 remaining) [2021-09-14 00:07:20,696 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr43ASSERT_VIOLATIONMEMORY_FREE (15 of 59 remaining) [2021-09-14 00:07:20,696 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr44ASSERT_VIOLATIONMEMORY_FREE (14 of 59 remaining) [2021-09-14 00:07:20,697 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location _destroy_in_nondeterministic_orderErr45ASSERT_VIOLATIONMEMORY_FREE (13 of 59 remaining) [2021-09-14 00:07:20,697 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location dll_circular_createErr0REQUIRES_VIOLATION (12 of 59 remaining) [2021-09-14 00:07:20,697 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location dll_circular_createErr1REQUIRES_VIOLATION (11 of 59 remaining) [2021-09-14 00:07:20,697 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location dll_circular_createErr2REQUIRES_VIOLATION (10 of 59 remaining) [2021-09-14 00:07:20,697 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location dll_circular_createErr3REQUIRES_VIOLATION (9 of 59 remaining) [2021-09-14 00:07:20,697 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location dll_circular_createErr4REQUIRES_VIOLATION (8 of 59 remaining) [2021-09-14 00:07:20,697 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location dll_circular_createErr5REQUIRES_VIOLATION (7 of 59 remaining) [2021-09-14 00:07:20,697 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location dll_circular_createErr6REQUIRES_VIOLATION (6 of 59 remaining) [2021-09-14 00:07:20,697 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location dll_circular_createErr7REQUIRES_VIOLATION (5 of 59 remaining) [2021-09-14 00:07:20,698 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location dll_circular_createErr8REQUIRES_VIOLATION (4 of 59 remaining) [2021-09-14 00:07:20,698 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location dll_circular_createErr9REQUIRES_VIOLATION (3 of 59 remaining) [2021-09-14 00:07:20,698 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location dll_circular_createErr10REQUIRES_VIOLATION (2 of 59 remaining) [2021-09-14 00:07:20,698 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location dll_circular_createErr11REQUIRES_VIOLATION (1 of 59 remaining) [2021-09-14 00:07:20,698 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location mainErr0ENSURES_VIOLATIONMEMORY_LEAK (0 of 59 remaining) [2021-09-14 00:07:20,701 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (29)] Forceful destruction successful, exit code 0 [2021-09-14 00:07:20,919 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Forceful destruction successful, exit code 0 [2021-09-14 00:07:21,121 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (28)] Forceful destruction successful, exit code 0 [2021-09-14 00:07:21,313 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 29 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt,30 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,28 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-09-14 00:07:21,317 INFO L179 ceAbstractionStarter]: Computing trace abstraction results [2021-09-14 00:07:21,329 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 14.09 12:07:21 BoogieIcfgContainer [2021-09-14 00:07:21,329 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2021-09-14 00:07:21,330 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2021-09-14 00:07:21,330 INFO L271 PluginConnector]: Initializing Witness Printer... [2021-09-14 00:07:21,330 INFO L275 PluginConnector]: Witness Printer initialized [2021-09-14 00:07:21,331 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 13.09 11:59:17" (3/4) ... [2021-09-14 00:07:21,332 INFO L140 WitnessPrinter]: No result that supports witness generation found [2021-09-14 00:07:21,332 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2021-09-14 00:07:21,336 INFO L158 Benchmark]: Toolchain (without parser) took 485165.14ms. Allocated memory was 50.3MB in the beginning and 111.1MB in the end (delta: 60.8MB). Free memory was 32.6MB in the beginning and 27.1MB in the end (delta: 5.5MB). Peak memory consumption was 66.2MB. Max. memory is 16.1GB. [2021-09-14 00:07:21,336 INFO L158 Benchmark]: CDTParser took 0.09ms. Allocated memory is still 41.9MB. Free memory was 24.9MB in the beginning and 24.9MB in the end (delta: 28.4kB). There was no memory consumed. Max. memory is 16.1GB. [2021-09-14 00:07:21,337 INFO L158 Benchmark]: CACSL2BoogieTranslator took 414.36ms. Allocated memory is still 50.3MB. Free memory was 32.5MB in the beginning and 26.9MB in the end (delta: 5.5MB). Peak memory consumption was 11.5MB. Max. memory is 16.1GB. [2021-09-14 00:07:21,337 INFO L158 Benchmark]: Boogie Preprocessor took 96.40ms. Allocated memory is still 50.3MB. Free memory was 26.9MB in the beginning and 32.9MB in the end (delta: -6.0MB). Peak memory consumption was 6.9MB. Max. memory is 16.1GB. [2021-09-14 00:07:21,337 INFO L158 Benchmark]: RCFGBuilder took 568.66ms. Allocated memory was 50.3MB in the beginning and 62.9MB in the end (delta: 12.6MB). Free memory was 32.9MB in the beginning and 31.8MB in the end (delta: 1.1MB). Peak memory consumption was 14.0MB. Max. memory is 16.1GB. [2021-09-14 00:07:21,337 INFO L158 Benchmark]: TraceAbstraction took 484078.37ms. Allocated memory was 62.9MB in the beginning and 111.1MB in the end (delta: 48.2MB). Free memory was 31.4MB in the beginning and 27.1MB in the end (delta: 4.3MB). Peak memory consumption was 52.4MB. Max. memory is 16.1GB. [2021-09-14 00:07:21,338 INFO L158 Benchmark]: Witness Printer took 2.32ms. Allocated memory is still 111.1MB. Free memory is still 27.1MB. There was no memory consumed. Max. memory is 16.1GB. [2021-09-14 00:07:21,338 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.09ms. Allocated memory is still 41.9MB. Free memory was 24.9MB in the beginning and 24.9MB in the end (delta: 28.4kB). There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 414.36ms. Allocated memory is still 50.3MB. Free memory was 32.5MB in the beginning and 26.9MB in the end (delta: 5.5MB). Peak memory consumption was 11.5MB. Max. memory is 16.1GB. * Boogie Preprocessor took 96.40ms. Allocated memory is still 50.3MB. Free memory was 26.9MB in the beginning and 32.9MB in the end (delta: -6.0MB). Peak memory consumption was 6.9MB. Max. memory is 16.1GB. * RCFGBuilder took 568.66ms. Allocated memory was 50.3MB in the beginning and 62.9MB in the end (delta: 12.6MB). Free memory was 32.9MB in the beginning and 31.8MB in the end (delta: 1.1MB). Peak memory consumption was 14.0MB. Max. memory is 16.1GB. * TraceAbstraction took 484078.37ms. Allocated memory was 62.9MB in the beginning and 111.1MB in the end (delta: 48.2MB). Free memory was 31.4MB in the beginning and 27.1MB in the end (delta: 4.3MB). Peak memory consumption was 52.4MB. Max. memory is 16.1GB. * Witness Printer took 2.32ms. Allocated memory is still 111.1MB. Free memory is still 27.1MB. There was no memory consumed. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.00ms ErrorAutomatonConstructionTimeTotal, 0.00ms FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.00ms ErrorAutomatonConstructionTimeAvg, 0.00ms ErrorAutomatonDifferenceTimeAvg, 0.00ms ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - UnprovableResult [Line: 603]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: unable to decide satisfiability of path constraint. Possible FailurePath: [L617] const int len = 3; [L618] CALL, EXPR dll_circular_create(len) [L564] DLL last = (DLL) malloc(sizeof(struct node)); [L565] COND FALSE !(((void *)0) == last) [L568] last->next = last [L569] last->prev = last [L570] DLL head = last; [L571] COND TRUE len > 1 [L572] DLL new_head = (DLL) malloc(sizeof(struct node)); [L573] COND FALSE !(((void *)0) == new_head) [L576] new_head->next = head [L577] head->prev = new_head [L578] head = new_head [L579] len-- [L571] COND TRUE len > 1 [L572] DLL new_head = (DLL) malloc(sizeof(struct node)); [L573] COND FALSE !(((void *)0) == new_head) [L576] new_head->next = head [L577] head->prev = new_head [L578] head = new_head [L579] len-- [L571] COND FALSE !(len > 1) [L581] last->next = head [L582] head->prev = last [L583] return head; [L618] RET, EXPR dll_circular_create(len) [L618] DLL head = dll_circular_create(len); [L619] CALL _destroy_in_nondeterministic_order(head) [L586] EXPR head->prev [L586] DLL pred = head->prev; [L587] EXPR head->next [L587] DLL succ = head->next; [L588] COND FALSE !(__VERIFIER_nondet_int()) [L597] COND TRUE __VERIFIER_nondet_int() [L598] free(succ) [L598] free(succ) [L598] free(succ) [L599] COND FALSE !(__VERIFIER_nondet_int()) [L603] free(pred) [L603] free(pred) [L603] free(pred) - UnprovableResult [Line: 586]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: Not analyzed. - UnprovableResult [Line: 586]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: Not analyzed. - UnprovableResult [Line: 587]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: Not analyzed. - UnprovableResult [Line: 587]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: Not analyzed. - UnprovableResult [Line: 589]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 589]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 589]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 591]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 591]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 591]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 592]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 592]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 592]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 594]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 594]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 594]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 595]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 595]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 595]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 598]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 598]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 598]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 600]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 600]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 600]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 601]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 601]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 601]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 603]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 603]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 604]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 604]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 604]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 607]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 607]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 607]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 609]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 609]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 609]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 610]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 610]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 610]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 612]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 612]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 612]: Unable to prove that free always succeeds Unable to prove that free always succeeds Reason: Not analyzed. - UnprovableResult [Line: 568]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: Not analyzed. - UnprovableResult [Line: 568]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: Not analyzed. - UnprovableResult [Line: 569]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: Not analyzed. - UnprovableResult [Line: 569]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: Not analyzed. - UnprovableResult [Line: 576]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: Not analyzed. - UnprovableResult [Line: 576]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: Not analyzed. - UnprovableResult [Line: 577]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: Not analyzed. - UnprovableResult [Line: 577]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: Not analyzed. - UnprovableResult [Line: 581]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: Not analyzed. - UnprovableResult [Line: 581]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: Not analyzed. - UnprovableResult [Line: 582]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: Not analyzed. - UnprovableResult [Line: 582]: Unable to prove that pointer dereference always succeeds Unable to prove that pointer dereference always succeeds Reason: Not analyzed. - UnprovableResult [Line: 616]: Unable to prove that all allocated memory was freed Unable to prove that all allocated memory was freed Reason: Not analyzed. - StatisticsResult: Ultimate Automizer benchmark data CFG has 9 procedures, 159 locations, 59 error locations. Started 1 CEGAR loops. OverallTime: 484025.17ms, OverallIterations: 27, TraceHistogramMax: 2, EmptinessCheckTime: 22.94ms, AutomataDifference: 194328.46ms, DeadEndRemovalTime: 0.00ms, HoareAnnotationTime: 0.00ms, InitialAbstractionConstructionTime: 10.18ms, PartialOrderReductionTime: 0.00ms, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 1787 SdHoareTripleChecker+Valid, 27539.79ms IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 1773 mSDsluCounter, 1329 SdHoareTripleChecker+Invalid, 27403.25ms Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 5323 IncrementalHoareTripleChecker+Unchecked, 15279 mSDsCounter, 151 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 19431 IncrementalHoareTripleChecker+Invalid, 24905 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 151 mSolverCounterUnsat, 185 mSDtfsCounter, 19431 mSolverCounterSat, 131.88ms SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1722 GetRequests, 1197 SyntacticMatches, 34 SemanticMatches, 491 ConstructedPredicates, 18 IntricatePredicates, 2 DeprecatedPredicates, 2056 ImplicationChecksByTransitivity, 317752.02ms Time, 0.00ms BasicInterpolantAutomatonTime, BiggestAbstraction: size=146occurred in iteration=0, InterpolantAutomatonStates: 332, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.00ms DumpTime, AutomataMinimizationStatistics: 311.95ms AutomataMinimizationTime, 26 MinimizatonAttempts, 92 StatesRemovedByMinimization, 9 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 183.11ms SsaConstructionTime, 944.10ms SatisfiabilityAnalysisTime, 231539.63ms InterpolantComputationTime, 820 NumberOfCodeBlocks, 820 NumberOfCodeBlocksAsserted, 26 NumberOfCheckSat, 1588 ConstructedInterpolants, 305 QuantifiedInterpolants, 17736 SizeOfPredicates, 213 NumberOfNonLiveVariables, 3212 ConjunctsInSsa, 379 ConjunctsInUnsatCore, 52 InterpolantComputations, 32 PerfectInterpolantSequences, 144/254 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces [2021-09-14 00:07:21,391 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...