./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/list-simple/sll2c_insert_unequal.i --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/list-simple/sll2c_insert_unequal.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash b7b415e0519ab150e9247d3d9d0133f92cfd07c34f9918f9ebd19cf8109bf4e7 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 16:55:32,203 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 16:55:32,205 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 16:55:32,238 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 16:55:32,238 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 16:55:32,241 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 16:55:32,241 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 16:55:32,244 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 16:55:32,245 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 16:55:32,248 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 16:55:32,248 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 16:55:32,249 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 16:55:32,249 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 16:55:32,251 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 16:55:32,252 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 16:55:32,255 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 16:55:32,256 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 16:55:32,256 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 16:55:32,258 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 16:55:32,263 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 16:55:32,264 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 16:55:32,265 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 16:55:32,266 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 16:55:32,267 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 16:55:32,272 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 16:55:32,272 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 16:55:32,272 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 16:55:32,273 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 16:55:32,274 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 16:55:32,274 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 16:55:32,274 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 16:55:32,275 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 16:55:32,276 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 16:55:32,277 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 16:55:32,278 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 16:55:32,278 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 16:55:32,278 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 16:55:32,278 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 16:55:32,279 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 16:55:32,279 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 16:55:32,279 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 16:55:32,281 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2022-02-20 16:55:32,301 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 16:55:32,302 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 16:55:32,302 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 16:55:32,302 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 16:55:32,303 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 16:55:32,303 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 16:55:32,303 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 16:55:32,303 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 16:55:32,303 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 16:55:32,304 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 16:55:32,304 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 16:55:32,304 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 16:55:32,305 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 16:55:32,305 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 16:55:32,305 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 16:55:32,305 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 16:55:32,305 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 16:55:32,305 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 16:55:32,305 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 16:55:32,305 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 16:55:32,306 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 16:55:32,306 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 16:55:32,306 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 16:55:32,306 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 16:55:32,306 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:55:32,306 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 16:55:32,307 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 16:55:32,307 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 16:55:32,307 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 16:55:32,307 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 16:55:32,308 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 16:55:32,308 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 16:55:32,309 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 16:55:32,309 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 ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> b7b415e0519ab150e9247d3d9d0133f92cfd07c34f9918f9ebd19cf8109bf4e7 [2022-02-20 16:55:32,507 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 16:55:32,521 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 16:55:32,523 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 16:55:32,524 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 16:55:32,524 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 16:55:32,525 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/list-simple/sll2c_insert_unequal.i [2022-02-20 16:55:32,580 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/305cc1064/63d5baf13247411697487fd9ce18a198/FLAG70437b437 [2022-02-20 16:55:32,970 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 16:55:32,970 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/list-simple/sll2c_insert_unequal.i [2022-02-20 16:55:32,993 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/305cc1064/63d5baf13247411697487fd9ce18a198/FLAG70437b437 [2022-02-20 16:55:33,003 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/305cc1064/63d5baf13247411697487fd9ce18a198 [2022-02-20 16:55:33,005 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 16:55:33,006 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 16:55:33,007 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 16:55:33,007 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 16:55:33,021 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 16:55:33,022 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:55:33" (1/1) ... [2022-02-20 16:55:33,023 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@675c9c1c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:55:33, skipping insertion in model container [2022-02-20 16:55:33,023 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:55:33" (1/1) ... [2022-02-20 16:55:33,027 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 16:55:33,070 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 16:55:33,316 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/list-simple/sll2c_insert_unequal.i[24872,24885] [2022-02-20 16:55:33,322 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:55:33,336 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 16:55:33,393 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/list-simple/sll2c_insert_unequal.i[24872,24885] [2022-02-20 16:55:33,393 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:55:33,418 INFO L208 MainTranslator]: Completed translation [2022-02-20 16:55:33,418 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:55:33 WrapperNode [2022-02-20 16:55:33,419 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 16:55:33,419 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 16:55:33,420 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 16:55:33,420 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 16:55:33,424 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:55:33" (1/1) ... [2022-02-20 16:55:33,433 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:55:33" (1/1) ... [2022-02-20 16:55:33,456 INFO L137 Inliner]: procedures = 127, calls = 48, calls flagged for inlining = 6, calls inlined = 6, statements flattened = 172 [2022-02-20 16:55:33,456 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 16:55:33,457 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 16:55:33,457 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 16:55:33,457 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 16:55:33,463 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:55:33" (1/1) ... [2022-02-20 16:55:33,463 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:55:33" (1/1) ... [2022-02-20 16:55:33,466 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:55:33" (1/1) ... [2022-02-20 16:55:33,467 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:55:33" (1/1) ... [2022-02-20 16:55:33,473 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:55:33" (1/1) ... [2022-02-20 16:55:33,476 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:55:33" (1/1) ... [2022-02-20 16:55:33,478 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:55:33" (1/1) ... [2022-02-20 16:55:33,480 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 16:55:33,481 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 16:55:33,481 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 16:55:33,481 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 16:55:33,482 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:55:33" (1/1) ... [2022-02-20 16:55:33,487 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:55:33,494 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:55:33,505 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-02-20 16:55:33,517 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-02-20 16:55:33,532 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 16:55:33,532 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 16:55:33,532 INFO L130 BoogieDeclarations]: Found specification of procedure node_create [2022-02-20 16:55:33,532 INFO L138 BoogieDeclarations]: Found implementation of procedure node_create [2022-02-20 16:55:33,533 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 16:55:33,533 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 16:55:33,533 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 16:55:33,533 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 16:55:33,533 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 16:55:33,533 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 16:55:33,533 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2022-02-20 16:55:33,534 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 16:55:33,534 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 16:55:33,534 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 16:55:33,630 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 16:55:33,631 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 16:55:33,871 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 16:55:33,876 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 16:55:33,876 INFO L299 CfgBuilder]: Removed 5 assume(true) statements. [2022-02-20 16:55:33,877 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:55:33 BoogieIcfgContainer [2022-02-20 16:55:33,878 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 16:55:33,879 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 16:55:33,879 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 16:55:33,881 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 16:55:33,882 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 04:55:33" (1/3) ... [2022-02-20 16:55:33,882 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@a17bebe and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:55:33, skipping insertion in model container [2022-02-20 16:55:33,882 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:55:33" (2/3) ... [2022-02-20 16:55:33,882 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@a17bebe and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:55:33, skipping insertion in model container [2022-02-20 16:55:33,883 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:55:33" (3/3) ... [2022-02-20 16:55:33,884 INFO L111 eAbstractionObserver]: Analyzing ICFG sll2c_insert_unequal.i [2022-02-20 16:55:33,887 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 16:55:33,887 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 16:55:33,918 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 16:55:33,923 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=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mLoopAccelerationTechnique=FAST_UPR [2022-02-20 16:55:33,923 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 16:55:33,937 INFO L276 IsEmpty]: Start isEmpty. Operand has 42 states, 36 states have (on average 1.5277777777777777) internal successors, (55), 37 states have internal predecessors, (55), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 16:55:33,941 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-02-20 16:55:33,941 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:55:33,941 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:55:33,942 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:55:33,945 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:55:33,946 INFO L85 PathProgramCache]: Analyzing trace with hash 1111347289, now seen corresponding path program 1 times [2022-02-20 16:55:33,955 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:55:33,955 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1193680294] [2022-02-20 16:55:33,955 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:33,956 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:55:34,084 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:34,163 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:55:34,173 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:34,211 INFO L290 TraceCheckUtils]: 0: Hoare triple {57#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {45#true} is VALID [2022-02-20 16:55:34,212 INFO L290 TraceCheckUtils]: 1: Hoare triple {45#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {45#true} is VALID [2022-02-20 16:55:34,212 INFO L290 TraceCheckUtils]: 2: Hoare triple {45#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {45#true} is VALID [2022-02-20 16:55:34,213 INFO L290 TraceCheckUtils]: 3: Hoare triple {45#true} assume true; {45#true} is VALID [2022-02-20 16:55:34,213 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {45#true} {45#true} #137#return; {45#true} is VALID [2022-02-20 16:55:34,214 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 16:55:34,231 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:34,247 INFO L290 TraceCheckUtils]: 0: Hoare triple {57#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {45#true} is VALID [2022-02-20 16:55:34,247 INFO L290 TraceCheckUtils]: 1: Hoare triple {45#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {45#true} is VALID [2022-02-20 16:55:34,248 INFO L290 TraceCheckUtils]: 2: Hoare triple {45#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {45#true} is VALID [2022-02-20 16:55:34,248 INFO L290 TraceCheckUtils]: 3: Hoare triple {45#true} assume true; {45#true} is VALID [2022-02-20 16:55:34,248 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {45#true} {46#false} #141#return; {46#false} is VALID [2022-02-20 16:55:34,249 INFO L290 TraceCheckUtils]: 0: Hoare triple {45#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(23, 2); {45#true} is VALID [2022-02-20 16:55:34,249 INFO L290 TraceCheckUtils]: 1: Hoare triple {45#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret16#1.base, main_#t~ret16#1.offset, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~post24#1, main_#t~mem26#1, main_#t~mem27#1.base, main_#t~mem27#1.offset, main_#t~post28#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_#t~mem29#1.base, main_#t~mem29#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {45#true} is VALID [2022-02-20 16:55:34,250 INFO L272 TraceCheckUtils]: 2: Hoare triple {45#true} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {57#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:55:34,251 INFO L290 TraceCheckUtils]: 3: Hoare triple {57#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {45#true} is VALID [2022-02-20 16:55:34,252 INFO L290 TraceCheckUtils]: 4: Hoare triple {45#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {45#true} is VALID [2022-02-20 16:55:34,252 INFO L290 TraceCheckUtils]: 5: Hoare triple {45#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {45#true} is VALID [2022-02-20 16:55:34,252 INFO L290 TraceCheckUtils]: 6: Hoare triple {45#true} assume true; {45#true} is VALID [2022-02-20 16:55:34,253 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {45#true} {45#true} #137#return; {45#true} is VALID [2022-02-20 16:55:34,253 INFO L290 TraceCheckUtils]: 8: Hoare triple {45#true} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {45#true} is VALID [2022-02-20 16:55:34,253 INFO L290 TraceCheckUtils]: 9: Hoare triple {45#true} assume !true; {46#false} is VALID [2022-02-20 16:55:34,254 INFO L290 TraceCheckUtils]: 10: Hoare triple {46#false} call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4);sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {46#false} is VALID [2022-02-20 16:55:34,254 INFO L290 TraceCheckUtils]: 11: Hoare triple {46#false} main_#t~ret16#1.base, main_#t~ret16#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret16#1.base, main_#t~ret16#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret16#1.base, main_#t~ret16#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_sll_circular_insert } true;sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset, sll_circular_insert_#in~data#1, sll_circular_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset, sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset, sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset, sll_circular_insert_#t~post12#1, sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset, sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset, sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset, sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, sll_circular_insert_~data#1, sll_circular_insert_~index#1, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset, sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset := sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset;sll_circular_insert_~data#1 := sll_circular_insert_#in~data#1;sll_circular_insert_~index#1 := sll_circular_insert_#in~index#1; {46#false} is VALID [2022-02-20 16:55:34,255 INFO L272 TraceCheckUtils]: 12: Hoare triple {46#false} call sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset := node_create(sll_circular_insert_~data#1); {57#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:55:34,255 INFO L290 TraceCheckUtils]: 13: Hoare triple {57#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {45#true} is VALID [2022-02-20 16:55:34,256 INFO L290 TraceCheckUtils]: 14: Hoare triple {45#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {45#true} is VALID [2022-02-20 16:55:34,256 INFO L290 TraceCheckUtils]: 15: Hoare triple {45#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {45#true} is VALID [2022-02-20 16:55:34,256 INFO L290 TraceCheckUtils]: 16: Hoare triple {45#true} assume true; {45#true} is VALID [2022-02-20 16:55:34,256 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {45#true} {46#false} #141#return; {46#false} is VALID [2022-02-20 16:55:34,256 INFO L290 TraceCheckUtils]: 18: Hoare triple {46#false} sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset := sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := 0, 0;call sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset;havoc sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset; {46#false} is VALID [2022-02-20 16:55:34,256 INFO L290 TraceCheckUtils]: 19: Hoare triple {46#false} assume !true; {46#false} is VALID [2022-02-20 16:55:34,257 INFO L290 TraceCheckUtils]: 20: Hoare triple {46#false} assume sll_circular_insert_~snd_to_last~0#1.base != 0 || sll_circular_insert_~snd_to_last~0#1.offset != 0;call write~$Pointer$(sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset, 4);call write~$Pointer$(sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, 4); {46#false} is VALID [2022-02-20 16:55:34,257 INFO L290 TraceCheckUtils]: 21: Hoare triple {46#false} assume { :end_inline_sll_circular_insert } true;call main_#t~mem17#1.base, main_#t~mem17#1.offset := read~$Pointer$(main_~#s~0#1.base, main_~#s~0#1.offset, 4);main_~ptr~0#1.base, main_~ptr~0#1.offset := main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;main_~count~0#1 := 0; {46#false} is VALID [2022-02-20 16:55:34,257 INFO L290 TraceCheckUtils]: 22: Hoare triple {46#false} call main_#t~mem19#1 := read~int(main_~ptr~0#1.base, 4 + main_~ptr~0#1.offset, 4); {46#false} is VALID [2022-02-20 16:55:34,257 INFO L290 TraceCheckUtils]: 23: Hoare triple {46#false} assume main_~data~0#1 != main_#t~mem19#1;havoc main_#t~mem19#1; {46#false} is VALID [2022-02-20 16:55:34,258 INFO L290 TraceCheckUtils]: 24: Hoare triple {46#false} assume !false; {46#false} is VALID [2022-02-20 16:55:34,258 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-20 16:55:34,259 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:55:34,259 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1193680294] [2022-02-20 16:55:34,259 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1193680294] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:55:34,260 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:55:34,260 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 16:55:34,261 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [66096276] [2022-02-20 16:55:34,261 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:55:34,265 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 5.666666666666667) internal successors, (17), 2 states have internal predecessors, (17), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 25 [2022-02-20 16:55:34,267 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:55:34,270 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 5.666666666666667) internal successors, (17), 2 states have internal predecessors, (17), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:55:34,300 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:34,300 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 16:55:34,300 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:55:34,315 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 16:55:34,316 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 16:55:34,318 INFO L87 Difference]: Start difference. First operand has 42 states, 36 states have (on average 1.5277777777777777) internal successors, (55), 37 states have internal predecessors, (55), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand has 3 states, 3 states have (on average 5.666666666666667) internal successors, (17), 2 states have internal predecessors, (17), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:55:34,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:34,456 INFO L93 Difference]: Finished difference Result 77 states and 111 transitions. [2022-02-20 16:55:34,457 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 16:55:34,457 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 5.666666666666667) internal successors, (17), 2 states have internal predecessors, (17), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 25 [2022-02-20 16:55:34,457 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:55:34,458 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 5.666666666666667) internal successors, (17), 2 states have internal predecessors, (17), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:55:34,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 111 transitions. [2022-02-20 16:55:34,464 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 5.666666666666667) internal successors, (17), 2 states have internal predecessors, (17), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:55:34,466 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 111 transitions. [2022-02-20 16:55:34,466 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 111 transitions. [2022-02-20 16:55:34,542 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:34,548 INFO L225 Difference]: With dead ends: 77 [2022-02-20 16:55:34,548 INFO L226 Difference]: Without dead ends: 34 [2022-02-20 16:55:34,550 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 16:55:34,552 INFO L933 BasicCegarLoop]: 54 mSDtfsCounter, 0 mSDsluCounter, 24 mSDsCounter, 0 mSdLazyCounter, 29 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 78 SdHoareTripleChecker+Invalid, 31 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 29 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:55:34,553 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 78 Invalid, 31 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 29 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:55:34,563 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2022-02-20 16:55:34,571 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 34. [2022-02-20 16:55:34,572 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:55:34,572 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand has 34 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 29 states have internal predecessors, (38), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 16:55:34,573 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand has 34 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 29 states have internal predecessors, (38), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 16:55:34,573 INFO L87 Difference]: Start difference. First operand 34 states. Second operand has 34 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 29 states have internal predecessors, (38), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 16:55:34,576 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:34,576 INFO L93 Difference]: Finished difference Result 34 states and 44 transitions. [2022-02-20 16:55:34,576 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 44 transitions. [2022-02-20 16:55:34,577 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:34,577 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:34,577 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 29 states have internal predecessors, (38), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 34 states. [2022-02-20 16:55:34,577 INFO L87 Difference]: Start difference. First operand has 34 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 29 states have internal predecessors, (38), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 34 states. [2022-02-20 16:55:34,579 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:34,579 INFO L93 Difference]: Finished difference Result 34 states and 44 transitions. [2022-02-20 16:55:34,580 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 44 transitions. [2022-02-20 16:55:34,580 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:34,580 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:34,580 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:55:34,580 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:55:34,581 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 29 states have internal predecessors, (38), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 16:55:34,582 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 44 transitions. [2022-02-20 16:55:34,583 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 44 transitions. Word has length 25 [2022-02-20 16:55:34,583 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:55:34,583 INFO L470 AbstractCegarLoop]: Abstraction has 34 states and 44 transitions. [2022-02-20 16:55:34,584 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 5.666666666666667) internal successors, (17), 2 states have internal predecessors, (17), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:55:34,584 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 44 transitions. [2022-02-20 16:55:34,585 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-02-20 16:55:34,585 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:55:34,585 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:55:34,585 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 16:55:34,585 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:55:34,586 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:55:34,586 INFO L85 PathProgramCache]: Analyzing trace with hash -234931549, now seen corresponding path program 1 times [2022-02-20 16:55:34,586 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:55:34,586 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1686797407] [2022-02-20 16:55:34,586 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:34,587 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:55:34,611 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:34,640 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:55:34,646 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:34,653 INFO L290 TraceCheckUtils]: 0: Hoare triple {285#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {272#true} is VALID [2022-02-20 16:55:34,653 INFO L290 TraceCheckUtils]: 1: Hoare triple {272#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {272#true} is VALID [2022-02-20 16:55:34,654 INFO L290 TraceCheckUtils]: 2: Hoare triple {272#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {272#true} is VALID [2022-02-20 16:55:34,654 INFO L290 TraceCheckUtils]: 3: Hoare triple {272#true} assume true; {272#true} is VALID [2022-02-20 16:55:34,655 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {272#true} {274#(= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0)} #137#return; {274#(= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0)} is VALID [2022-02-20 16:55:34,655 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 16:55:34,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:34,666 INFO L290 TraceCheckUtils]: 0: Hoare triple {285#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {272#true} is VALID [2022-02-20 16:55:34,666 INFO L290 TraceCheckUtils]: 1: Hoare triple {272#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {272#true} is VALID [2022-02-20 16:55:34,666 INFO L290 TraceCheckUtils]: 2: Hoare triple {272#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {272#true} is VALID [2022-02-20 16:55:34,667 INFO L290 TraceCheckUtils]: 3: Hoare triple {272#true} assume true; {272#true} is VALID [2022-02-20 16:55:34,667 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {272#true} {273#false} #141#return; {273#false} is VALID [2022-02-20 16:55:34,667 INFO L290 TraceCheckUtils]: 0: Hoare triple {272#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(23, 2); {272#true} is VALID [2022-02-20 16:55:34,668 INFO L290 TraceCheckUtils]: 1: Hoare triple {272#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret16#1.base, main_#t~ret16#1.offset, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~post24#1, main_#t~mem26#1, main_#t~mem27#1.base, main_#t~mem27#1.offset, main_#t~post28#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_#t~mem29#1.base, main_#t~mem29#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {274#(= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0)} is VALID [2022-02-20 16:55:34,669 INFO L272 TraceCheckUtils]: 2: Hoare triple {274#(= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0)} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {285#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:55:34,669 INFO L290 TraceCheckUtils]: 3: Hoare triple {285#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {272#true} is VALID [2022-02-20 16:55:34,669 INFO L290 TraceCheckUtils]: 4: Hoare triple {272#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {272#true} is VALID [2022-02-20 16:55:34,669 INFO L290 TraceCheckUtils]: 5: Hoare triple {272#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {272#true} is VALID [2022-02-20 16:55:34,670 INFO L290 TraceCheckUtils]: 6: Hoare triple {272#true} assume true; {272#true} is VALID [2022-02-20 16:55:34,670 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {272#true} {274#(= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0)} #137#return; {274#(= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0)} is VALID [2022-02-20 16:55:34,671 INFO L290 TraceCheckUtils]: 8: Hoare triple {274#(= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0)} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {274#(= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0)} is VALID [2022-02-20 16:55:34,671 INFO L290 TraceCheckUtils]: 9: Hoare triple {274#(= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0)} assume !(sll_circular_create_~len#1 > 1); {273#false} is VALID [2022-02-20 16:55:34,671 INFO L290 TraceCheckUtils]: 10: Hoare triple {273#false} call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4);sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {273#false} is VALID [2022-02-20 16:55:34,672 INFO L290 TraceCheckUtils]: 11: Hoare triple {273#false} main_#t~ret16#1.base, main_#t~ret16#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret16#1.base, main_#t~ret16#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret16#1.base, main_#t~ret16#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_sll_circular_insert } true;sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset, sll_circular_insert_#in~data#1, sll_circular_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset, sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset, sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset, sll_circular_insert_#t~post12#1, sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset, sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset, sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset, sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, sll_circular_insert_~data#1, sll_circular_insert_~index#1, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset, sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset := sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset;sll_circular_insert_~data#1 := sll_circular_insert_#in~data#1;sll_circular_insert_~index#1 := sll_circular_insert_#in~index#1; {273#false} is VALID [2022-02-20 16:55:34,672 INFO L272 TraceCheckUtils]: 12: Hoare triple {273#false} call sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset := node_create(sll_circular_insert_~data#1); {285#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:55:34,672 INFO L290 TraceCheckUtils]: 13: Hoare triple {285#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {272#true} is VALID [2022-02-20 16:55:34,672 INFO L290 TraceCheckUtils]: 14: Hoare triple {272#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {272#true} is VALID [2022-02-20 16:55:34,672 INFO L290 TraceCheckUtils]: 15: Hoare triple {272#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {272#true} is VALID [2022-02-20 16:55:34,673 INFO L290 TraceCheckUtils]: 16: Hoare triple {272#true} assume true; {272#true} is VALID [2022-02-20 16:55:34,673 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {272#true} {273#false} #141#return; {273#false} is VALID [2022-02-20 16:55:34,673 INFO L290 TraceCheckUtils]: 18: Hoare triple {273#false} sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset := sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := 0, 0;call sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset;havoc sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset; {273#false} is VALID [2022-02-20 16:55:34,673 INFO L290 TraceCheckUtils]: 19: Hoare triple {273#false} assume !(sll_circular_insert_~index#1 > 0); {273#false} is VALID [2022-02-20 16:55:34,673 INFO L290 TraceCheckUtils]: 20: Hoare triple {273#false} assume sll_circular_insert_~snd_to_last~0#1.base != 0 || sll_circular_insert_~snd_to_last~0#1.offset != 0;call write~$Pointer$(sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset, 4);call write~$Pointer$(sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, 4); {273#false} is VALID [2022-02-20 16:55:34,674 INFO L290 TraceCheckUtils]: 21: Hoare triple {273#false} assume { :end_inline_sll_circular_insert } true;call main_#t~mem17#1.base, main_#t~mem17#1.offset := read~$Pointer$(main_~#s~0#1.base, main_~#s~0#1.offset, 4);main_~ptr~0#1.base, main_~ptr~0#1.offset := main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;main_~count~0#1 := 0; {273#false} is VALID [2022-02-20 16:55:34,674 INFO L290 TraceCheckUtils]: 22: Hoare triple {273#false} call main_#t~mem19#1 := read~int(main_~ptr~0#1.base, 4 + main_~ptr~0#1.offset, 4); {273#false} is VALID [2022-02-20 16:55:34,674 INFO L290 TraceCheckUtils]: 23: Hoare triple {273#false} assume main_~data~0#1 != main_#t~mem19#1;havoc main_#t~mem19#1; {273#false} is VALID [2022-02-20 16:55:34,674 INFO L290 TraceCheckUtils]: 24: Hoare triple {273#false} assume !false; {273#false} is VALID [2022-02-20 16:55:34,674 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-20 16:55:34,675 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:55:34,675 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1686797407] [2022-02-20 16:55:34,675 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1686797407] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:55:34,675 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:55:34,675 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 16:55:34,675 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1927834748] [2022-02-20 16:55:34,676 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:55:34,680 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 4.25) internal successors, (17), 3 states have internal predecessors, (17), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 25 [2022-02-20 16:55:34,680 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:55:34,680 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 4.25) internal successors, (17), 3 states have internal predecessors, (17), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:55:34,697 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:34,698 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 16:55:34,698 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:55:34,698 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 16:55:34,698 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 16:55:34,699 INFO L87 Difference]: Start difference. First operand 34 states and 44 transitions. Second operand has 4 states, 4 states have (on average 4.25) internal successors, (17), 3 states have internal predecessors, (17), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:55:34,808 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:34,808 INFO L93 Difference]: Finished difference Result 64 states and 83 transitions. [2022-02-20 16:55:34,808 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 16:55:34,809 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 4.25) internal successors, (17), 3 states have internal predecessors, (17), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 25 [2022-02-20 16:55:34,809 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:55:34,809 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 4.25) internal successors, (17), 3 states have internal predecessors, (17), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:55:34,811 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 83 transitions. [2022-02-20 16:55:34,811 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 4.25) internal successors, (17), 3 states have internal predecessors, (17), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:55:34,813 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 83 transitions. [2022-02-20 16:55:34,813 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 83 transitions. [2022-02-20 16:55:34,874 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:34,876 INFO L225 Difference]: With dead ends: 64 [2022-02-20 16:55:34,876 INFO L226 Difference]: Without dead ends: 37 [2022-02-20 16:55:34,877 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 16:55:34,877 INFO L933 BasicCegarLoop]: 42 mSDtfsCounter, 1 mSDsluCounter, 55 mSDsCounter, 0 mSdLazyCounter, 31 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 2 SdHoareTripleChecker+Valid, 97 SdHoareTripleChecker+Invalid, 34 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 31 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:55:34,878 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [2 Valid, 97 Invalid, 34 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 31 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:55:34,879 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-02-20 16:55:34,881 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 35. [2022-02-20 16:55:34,881 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:55:34,881 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand has 35 states, 30 states have (on average 1.3) internal successors, (39), 30 states have internal predecessors, (39), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 16:55:34,882 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand has 35 states, 30 states have (on average 1.3) internal successors, (39), 30 states have internal predecessors, (39), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 16:55:34,882 INFO L87 Difference]: Start difference. First operand 37 states. Second operand has 35 states, 30 states have (on average 1.3) internal successors, (39), 30 states have internal predecessors, (39), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 16:55:34,884 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:34,884 INFO L93 Difference]: Finished difference Result 37 states and 48 transitions. [2022-02-20 16:55:34,884 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 48 transitions. [2022-02-20 16:55:34,884 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:34,885 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:34,885 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 30 states have (on average 1.3) internal successors, (39), 30 states have internal predecessors, (39), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 37 states. [2022-02-20 16:55:34,885 INFO L87 Difference]: Start difference. First operand has 35 states, 30 states have (on average 1.3) internal successors, (39), 30 states have internal predecessors, (39), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 37 states. [2022-02-20 16:55:34,887 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:34,887 INFO L93 Difference]: Finished difference Result 37 states and 48 transitions. [2022-02-20 16:55:34,887 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 48 transitions. [2022-02-20 16:55:34,887 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:34,888 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:34,888 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:55:34,888 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:55:34,888 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 30 states have (on average 1.3) internal successors, (39), 30 states have internal predecessors, (39), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 16:55:34,889 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 45 transitions. [2022-02-20 16:55:34,890 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 45 transitions. Word has length 25 [2022-02-20 16:55:34,890 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:55:34,890 INFO L470 AbstractCegarLoop]: Abstraction has 35 states and 45 transitions. [2022-02-20 16:55:34,890 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 4.25) internal successors, (17), 3 states have internal predecessors, (17), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:55:34,890 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 45 transitions. [2022-02-20 16:55:34,891 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-02-20 16:55:34,891 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:55:34,891 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:55:34,891 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 16:55:34,892 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:55:34,892 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:55:34,892 INFO L85 PathProgramCache]: Analyzing trace with hash 1702704619, now seen corresponding path program 1 times [2022-02-20 16:55:34,892 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:55:34,892 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [250288265] [2022-02-20 16:55:34,893 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:34,893 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:55:34,920 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:34,990 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:55:34,993 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:35,001 INFO L290 TraceCheckUtils]: 0: Hoare triple {509#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {491#true} is VALID [2022-02-20 16:55:35,002 INFO L290 TraceCheckUtils]: 1: Hoare triple {491#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {491#true} is VALID [2022-02-20 16:55:35,002 INFO L290 TraceCheckUtils]: 2: Hoare triple {491#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {491#true} is VALID [2022-02-20 16:55:35,002 INFO L290 TraceCheckUtils]: 3: Hoare triple {491#true} assume true; {491#true} is VALID [2022-02-20 16:55:35,004 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {491#true} {491#true} #137#return; {491#true} is VALID [2022-02-20 16:55:35,005 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-02-20 16:55:35,009 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:35,018 INFO L290 TraceCheckUtils]: 0: Hoare triple {509#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {491#true} is VALID [2022-02-20 16:55:35,019 INFO L290 TraceCheckUtils]: 1: Hoare triple {491#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {491#true} is VALID [2022-02-20 16:55:35,019 INFO L290 TraceCheckUtils]: 2: Hoare triple {491#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {491#true} is VALID [2022-02-20 16:55:35,019 INFO L290 TraceCheckUtils]: 3: Hoare triple {491#true} assume true; {491#true} is VALID [2022-02-20 16:55:35,019 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {491#true} {491#true} #139#return; {491#true} is VALID [2022-02-20 16:55:35,020 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-02-20 16:55:35,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:35,037 INFO L290 TraceCheckUtils]: 0: Hoare triple {509#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {491#true} is VALID [2022-02-20 16:55:35,037 INFO L290 TraceCheckUtils]: 1: Hoare triple {491#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {491#true} is VALID [2022-02-20 16:55:35,038 INFO L290 TraceCheckUtils]: 2: Hoare triple {491#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {491#true} is VALID [2022-02-20 16:55:35,038 INFO L290 TraceCheckUtils]: 3: Hoare triple {491#true} assume true; {491#true} is VALID [2022-02-20 16:55:35,038 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {491#true} {491#true} #141#return; {491#true} is VALID [2022-02-20 16:55:35,038 INFO L290 TraceCheckUtils]: 0: Hoare triple {491#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(23, 2); {491#true} is VALID [2022-02-20 16:55:35,039 INFO L290 TraceCheckUtils]: 1: Hoare triple {491#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret16#1.base, main_#t~ret16#1.offset, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~post24#1, main_#t~mem26#1, main_#t~mem27#1.base, main_#t~mem27#1.offset, main_#t~post28#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_#t~mem29#1.base, main_#t~mem29#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {491#true} is VALID [2022-02-20 16:55:35,040 INFO L272 TraceCheckUtils]: 2: Hoare triple {491#true} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {509#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:55:35,040 INFO L290 TraceCheckUtils]: 3: Hoare triple {509#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {491#true} is VALID [2022-02-20 16:55:35,040 INFO L290 TraceCheckUtils]: 4: Hoare triple {491#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {491#true} is VALID [2022-02-20 16:55:35,040 INFO L290 TraceCheckUtils]: 5: Hoare triple {491#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {491#true} is VALID [2022-02-20 16:55:35,040 INFO L290 TraceCheckUtils]: 6: Hoare triple {491#true} assume true; {491#true} is VALID [2022-02-20 16:55:35,041 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {491#true} {491#true} #137#return; {491#true} is VALID [2022-02-20 16:55:35,041 INFO L290 TraceCheckUtils]: 8: Hoare triple {491#true} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {491#true} is VALID [2022-02-20 16:55:35,041 INFO L290 TraceCheckUtils]: 9: Hoare triple {491#true} assume !!(sll_circular_create_~len#1 > 1); {491#true} is VALID [2022-02-20 16:55:35,042 INFO L272 TraceCheckUtils]: 10: Hoare triple {491#true} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {509#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:55:35,042 INFO L290 TraceCheckUtils]: 11: Hoare triple {509#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {491#true} is VALID [2022-02-20 16:55:35,042 INFO L290 TraceCheckUtils]: 12: Hoare triple {491#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {491#true} is VALID [2022-02-20 16:55:35,043 INFO L290 TraceCheckUtils]: 13: Hoare triple {491#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {491#true} is VALID [2022-02-20 16:55:35,043 INFO L290 TraceCheckUtils]: 14: Hoare triple {491#true} assume true; {491#true} is VALID [2022-02-20 16:55:35,043 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {491#true} {491#true} #139#return; {491#true} is VALID [2022-02-20 16:55:35,043 INFO L290 TraceCheckUtils]: 16: Hoare triple {491#true} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4);sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := sll_circular_create_#t~post6#1 - 1;havoc sll_circular_create_#t~post6#1; {491#true} is VALID [2022-02-20 16:55:35,043 INFO L290 TraceCheckUtils]: 17: Hoare triple {491#true} assume !(sll_circular_create_~len#1 > 1); {491#true} is VALID [2022-02-20 16:55:35,044 INFO L290 TraceCheckUtils]: 18: Hoare triple {491#true} call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4);sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {491#true} is VALID [2022-02-20 16:55:35,044 INFO L290 TraceCheckUtils]: 19: Hoare triple {491#true} main_#t~ret16#1.base, main_#t~ret16#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret16#1.base, main_#t~ret16#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret16#1.base, main_#t~ret16#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_sll_circular_insert } true;sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset, sll_circular_insert_#in~data#1, sll_circular_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset, sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset, sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset, sll_circular_insert_#t~post12#1, sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset, sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset, sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset, sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, sll_circular_insert_~data#1, sll_circular_insert_~index#1, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset, sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset := sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset;sll_circular_insert_~data#1 := sll_circular_insert_#in~data#1;sll_circular_insert_~index#1 := sll_circular_insert_#in~index#1; {491#true} is VALID [2022-02-20 16:55:35,045 INFO L272 TraceCheckUtils]: 20: Hoare triple {491#true} call sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset := node_create(sll_circular_insert_~data#1); {509#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:55:35,045 INFO L290 TraceCheckUtils]: 21: Hoare triple {509#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {491#true} is VALID [2022-02-20 16:55:35,045 INFO L290 TraceCheckUtils]: 22: Hoare triple {491#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {491#true} is VALID [2022-02-20 16:55:35,045 INFO L290 TraceCheckUtils]: 23: Hoare triple {491#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {491#true} is VALID [2022-02-20 16:55:35,046 INFO L290 TraceCheckUtils]: 24: Hoare triple {491#true} assume true; {491#true} is VALID [2022-02-20 16:55:35,046 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {491#true} {491#true} #141#return; {491#true} is VALID [2022-02-20 16:55:35,047 INFO L290 TraceCheckUtils]: 26: Hoare triple {491#true} sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset := sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := 0, 0;call sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset;havoc sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset; {508#(and (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| 0) (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| 0))} is VALID [2022-02-20 16:55:35,047 INFO L290 TraceCheckUtils]: 27: Hoare triple {508#(and (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| 0) (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| 0))} assume !(sll_circular_insert_~index#1 > 0); {508#(and (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| 0) (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| 0))} is VALID [2022-02-20 16:55:35,048 INFO L290 TraceCheckUtils]: 28: Hoare triple {508#(and (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| 0) (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| 0))} assume sll_circular_insert_~snd_to_last~0#1.base != 0 || sll_circular_insert_~snd_to_last~0#1.offset != 0;call write~$Pointer$(sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset, 4);call write~$Pointer$(sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, 4); {492#false} is VALID [2022-02-20 16:55:35,048 INFO L290 TraceCheckUtils]: 29: Hoare triple {492#false} assume { :end_inline_sll_circular_insert } true;call main_#t~mem17#1.base, main_#t~mem17#1.offset := read~$Pointer$(main_~#s~0#1.base, main_~#s~0#1.offset, 4);main_~ptr~0#1.base, main_~ptr~0#1.offset := main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;main_~count~0#1 := 0; {492#false} is VALID [2022-02-20 16:55:35,048 INFO L290 TraceCheckUtils]: 30: Hoare triple {492#false} call main_#t~mem19#1 := read~int(main_~ptr~0#1.base, 4 + main_~ptr~0#1.offset, 4); {492#false} is VALID [2022-02-20 16:55:35,049 INFO L290 TraceCheckUtils]: 31: Hoare triple {492#false} assume main_~data~0#1 != main_#t~mem19#1;havoc main_#t~mem19#1; {492#false} is VALID [2022-02-20 16:55:35,049 INFO L290 TraceCheckUtils]: 32: Hoare triple {492#false} assume !false; {492#false} is VALID [2022-02-20 16:55:35,049 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-02-20 16:55:35,049 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:55:35,050 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [250288265] [2022-02-20 16:55:35,050 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [250288265] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:55:35,050 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:55:35,050 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 16:55:35,050 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [284736070] [2022-02-20 16:55:35,050 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:55:35,051 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 4.75) internal successors, (19), 3 states have internal predecessors, (19), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 33 [2022-02-20 16:55:35,051 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:55:35,052 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 4.75) internal successors, (19), 3 states have internal predecessors, (19), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 16:55:35,070 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:35,071 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 16:55:35,071 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:55:35,071 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 16:55:35,072 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 16:55:35,072 INFO L87 Difference]: Start difference. First operand 35 states and 45 transitions. Second operand has 4 states, 4 states have (on average 4.75) internal successors, (19), 3 states have internal predecessors, (19), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 16:55:35,224 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:35,224 INFO L93 Difference]: Finished difference Result 65 states and 85 transitions. [2022-02-20 16:55:35,224 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 16:55:35,224 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 4.75) internal successors, (19), 3 states have internal predecessors, (19), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 33 [2022-02-20 16:55:35,225 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:55:35,225 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 4.75) internal successors, (19), 3 states have internal predecessors, (19), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 16:55:35,226 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 84 transitions. [2022-02-20 16:55:35,226 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 4.75) internal successors, (19), 3 states have internal predecessors, (19), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 16:55:35,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 84 transitions. [2022-02-20 16:55:35,228 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 84 transitions. [2022-02-20 16:55:35,297 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:35,299 INFO L225 Difference]: With dead ends: 65 [2022-02-20 16:55:35,299 INFO L226 Difference]: Without dead ends: 51 [2022-02-20 16:55:35,299 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 16:55:35,300 INFO L933 BasicCegarLoop]: 60 mSDtfsCounter, 22 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 122 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:55:35,301 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 122 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:55:35,301 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-02-20 16:55:35,304 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 37. [2022-02-20 16:55:35,304 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:55:35,304 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 37 states, 32 states have (on average 1.3125) internal successors, (42), 32 states have internal predecessors, (42), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 16:55:35,305 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 37 states, 32 states have (on average 1.3125) internal successors, (42), 32 states have internal predecessors, (42), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 16:55:35,305 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 37 states, 32 states have (on average 1.3125) internal successors, (42), 32 states have internal predecessors, (42), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 16:55:35,307 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:35,307 INFO L93 Difference]: Finished difference Result 51 states and 66 transitions. [2022-02-20 16:55:35,307 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 66 transitions. [2022-02-20 16:55:35,307 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:35,308 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:35,308 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 32 states have (on average 1.3125) internal successors, (42), 32 states have internal predecessors, (42), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 51 states. [2022-02-20 16:55:35,308 INFO L87 Difference]: Start difference. First operand has 37 states, 32 states have (on average 1.3125) internal successors, (42), 32 states have internal predecessors, (42), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 51 states. [2022-02-20 16:55:35,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:35,310 INFO L93 Difference]: Finished difference Result 51 states and 66 transitions. [2022-02-20 16:55:35,310 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 66 transitions. [2022-02-20 16:55:35,310 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:35,311 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:35,311 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:55:35,311 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:55:35,311 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 32 states have (on average 1.3125) internal successors, (42), 32 states have internal predecessors, (42), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 16:55:35,312 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 48 transitions. [2022-02-20 16:55:35,312 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 48 transitions. Word has length 33 [2022-02-20 16:55:35,313 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:55:35,313 INFO L470 AbstractCegarLoop]: Abstraction has 37 states and 48 transitions. [2022-02-20 16:55:35,313 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 4.75) internal successors, (19), 3 states have internal predecessors, (19), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 16:55:35,313 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 48 transitions. [2022-02-20 16:55:35,314 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-02-20 16:55:35,314 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:55:35,314 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:55:35,314 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 16:55:35,314 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:55:35,315 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:55:35,315 INFO L85 PathProgramCache]: Analyzing trace with hash -1515040147, now seen corresponding path program 1 times [2022-02-20 16:55:35,315 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:55:35,315 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1441778827] [2022-02-20 16:55:35,316 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:35,316 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:55:35,414 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:35,833 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:55:35,840 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:35,881 INFO L290 TraceCheckUtils]: 0: Hoare triple {776#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {777#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 16:55:35,881 INFO L290 TraceCheckUtils]: 1: Hoare triple {777#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {777#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 16:55:35,904 INFO L290 TraceCheckUtils]: 2: Hoare triple {777#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {778#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 16:55:35,904 INFO L290 TraceCheckUtils]: 3: Hoare triple {778#(= (select |#valid| |node_create_#res#1.base|) 1)} assume true; {778#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 16:55:35,905 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {778#(= (select |#valid| |node_create_#res#1.base|) 1)} {748#(and (= |ULTIMATE.start_main_~data~0#1| |ULTIMATE.start_sll_circular_create_~data#1|) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} #137#return; {754#(and (= |ULTIMATE.start_main_~data~0#1| |ULTIMATE.start_sll_circular_create_~data#1|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 16:55:35,905 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-02-20 16:55:35,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:35,987 INFO L290 TraceCheckUtils]: 0: Hoare triple {776#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {779#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (= |node_create_~data#1| |node_create_#in~data#1|) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |node_create_~temp~0#1.offset| 0) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 16:55:35,988 INFO L290 TraceCheckUtils]: 1: Hoare triple {779#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (= |node_create_~data#1| |node_create_#in~data#1|) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |node_create_~temp~0#1.offset| 0) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {779#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (= |node_create_~data#1| |node_create_#in~data#1|) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |node_create_~temp~0#1.offset| 0) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 16:55:35,990 INFO L290 TraceCheckUtils]: 2: Hoare triple {779#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (= |node_create_~data#1| |node_create_#in~data#1|) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |node_create_~temp~0#1.offset| 0) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {780#(and (<= 0 |node_create_#res#1.offset|) (= (select (select |#memory_int| |node_create_#res#1.base|) 4) |node_create_#in~data#1|) (<= |node_create_#res#1.offset| 0) (= (select |old(#valid)| |node_create_#res#1.base|) 0) (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (= (select |#valid| |node_create_#res#1.base|) 1))} is VALID [2022-02-20 16:55:35,990 INFO L290 TraceCheckUtils]: 3: Hoare triple {780#(and (<= 0 |node_create_#res#1.offset|) (= (select (select |#memory_int| |node_create_#res#1.base|) 4) |node_create_#in~data#1|) (<= |node_create_#res#1.offset| 0) (= (select |old(#valid)| |node_create_#res#1.base|) 0) (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (= (select |#valid| |node_create_#res#1.base|) 1))} assume true; {780#(and (<= 0 |node_create_#res#1.offset|) (= (select (select |#memory_int| |node_create_#res#1.base|) 4) |node_create_#in~data#1|) (<= |node_create_#res#1.offset| 0) (= (select |old(#valid)| |node_create_#res#1.base|) 0) (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (= (select |#valid| |node_create_#res#1.base|) 1))} is VALID [2022-02-20 16:55:35,992 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {780#(and (<= 0 |node_create_#res#1.offset|) (= (select (select |#memory_int| |node_create_#res#1.base|) 4) |node_create_#in~data#1|) (<= |node_create_#res#1.offset| 0) (= (select |old(#valid)| |node_create_#res#1.base|) 0) (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (= (select |#valid| |node_create_#res#1.base|) 1))} {755#(and (= |ULTIMATE.start_main_~data~0#1| |ULTIMATE.start_sll_circular_create_~data#1|) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1))} #139#return; {761#(and (= |ULTIMATE.start_sll_circular_create_#t~ret5#1.offset| 0) (= |ULTIMATE.start_main_~data~0#1| (select (select |#memory_int| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 4)) (not (= |ULTIMATE.start_sll_circular_create_#t~ret5#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_sll_circular_create_~last~0#1.base| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|)))} is VALID [2022-02-20 16:55:35,992 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-02-20 16:55:35,997 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:36,227 INFO L290 TraceCheckUtils]: 0: Hoare triple {776#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {781#(and (= |#memory_int| |old(#memory_int)|) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |node_create_~temp~0#1.offset| (select |old(#valid)| |node_create_~temp~0#1.base|)) (not (= |node_create_~temp~0#1.offset| 1)))} is VALID [2022-02-20 16:55:36,228 INFO L290 TraceCheckUtils]: 1: Hoare triple {781#(and (= |#memory_int| |old(#memory_int)|) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |node_create_~temp~0#1.offset| (select |old(#valid)| |node_create_~temp~0#1.base|)) (not (= |node_create_~temp~0#1.offset| 1)))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {781#(and (= |#memory_int| |old(#memory_int)|) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |node_create_~temp~0#1.offset| (select |old(#valid)| |node_create_~temp~0#1.base|)) (not (= |node_create_~temp~0#1.offset| 1)))} is VALID [2022-02-20 16:55:36,231 INFO L290 TraceCheckUtils]: 2: Hoare triple {781#(and (= |#memory_int| |old(#memory_int)|) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |node_create_~temp~0#1.offset| (select |old(#valid)| |node_create_~temp~0#1.base|)) (not (= |node_create_~temp~0#1.offset| 1)))} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {782#(and (= |#memory_int| (store (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) (@diff (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (select |#memory_int| (@diff (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|)))) (or (<= (+ (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (not (= (select |old(#valid)| |node_create_#res#1.base|) 1)) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|) (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)))) (or (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (not (= (select |old(#valid)| (@diff (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|)) 1))) (or (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (<= (+ (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|) 1) |#StackHeapBarrier|)) (or (not (= (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|)) 1)) (= |#memory_int| |old(#memory_int)|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))} is VALID [2022-02-20 16:55:36,233 INFO L290 TraceCheckUtils]: 3: Hoare triple {782#(and (= |#memory_int| (store (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) (@diff (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (select |#memory_int| (@diff (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|)))) (or (<= (+ (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (not (= (select |old(#valid)| |node_create_#res#1.base|) 1)) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|) (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)))) (or (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (not (= (select |old(#valid)| (@diff (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|)) 1))) (or (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (<= (+ (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|) 1) |#StackHeapBarrier|)) (or (not (= (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|)) 1)) (= |#memory_int| |old(#memory_int)|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))} assume true; {782#(and (= |#memory_int| (store (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) (@diff (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (select |#memory_int| (@diff (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|)))) (or (<= (+ (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (not (= (select |old(#valid)| |node_create_#res#1.base|) 1)) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|) (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)))) (or (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (not (= (select |old(#valid)| (@diff (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|)) 1))) (or (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (<= (+ (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|) 1) |#StackHeapBarrier|)) (or (not (= (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|)) 1)) (= |#memory_int| |old(#memory_int)|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))} is VALID [2022-02-20 16:55:36,236 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {782#(and (= |#memory_int| (store (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) (@diff (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (select |#memory_int| (@diff (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|)))) (or (<= (+ (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (not (= (select |old(#valid)| |node_create_#res#1.base|) 1)) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|) (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)))) (or (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (not (= (select |old(#valid)| (@diff (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|)) 1))) (or (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (<= (+ (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|) 1) |#StackHeapBarrier|)) (or (not (= (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|)) 1)) (= |#memory_int| |old(#memory_int)|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))} {764#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 1) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_sll_circular_insert_~head#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_main_~data~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 4)))} #141#return; {770#(and (not (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_sll_circular_insert_#t~ret9#1.base|)) (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|) (not (= |ULTIMATE.start_sll_circular_insert_~head#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|))) (= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|) |ULTIMATE.start_sll_circular_insert_#t~ret9#1.base|)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|)) 4) |ULTIMATE.start_main_~data~0#1|))} is VALID [2022-02-20 16:55:36,236 INFO L290 TraceCheckUtils]: 0: Hoare triple {746#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(23, 2); {746#true} is VALID [2022-02-20 16:55:36,237 INFO L290 TraceCheckUtils]: 1: Hoare triple {746#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret16#1.base, main_#t~ret16#1.offset, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~post24#1, main_#t~mem26#1, main_#t~mem27#1.base, main_#t~mem27#1.offset, main_#t~post28#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_#t~mem29#1.base, main_#t~mem29#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {748#(and (= |ULTIMATE.start_main_~data~0#1| |ULTIMATE.start_sll_circular_create_~data#1|) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 16:55:36,237 INFO L272 TraceCheckUtils]: 2: Hoare triple {748#(and (= |ULTIMATE.start_main_~data~0#1| |ULTIMATE.start_sll_circular_create_~data#1|) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {776#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:55:36,238 INFO L290 TraceCheckUtils]: 3: Hoare triple {776#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {777#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 16:55:36,238 INFO L290 TraceCheckUtils]: 4: Hoare triple {777#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {777#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 16:55:36,239 INFO L290 TraceCheckUtils]: 5: Hoare triple {777#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {778#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 16:55:36,239 INFO L290 TraceCheckUtils]: 6: Hoare triple {778#(= (select |#valid| |node_create_#res#1.base|) 1)} assume true; {778#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 16:55:36,240 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {778#(= (select |#valid| |node_create_#res#1.base|) 1)} {748#(and (= |ULTIMATE.start_main_~data~0#1| |ULTIMATE.start_sll_circular_create_~data#1|) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} #137#return; {754#(and (= |ULTIMATE.start_main_~data~0#1| |ULTIMATE.start_sll_circular_create_~data#1|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 16:55:36,241 INFO L290 TraceCheckUtils]: 8: Hoare triple {754#(and (= |ULTIMATE.start_main_~data~0#1| |ULTIMATE.start_sll_circular_create_~data#1|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {755#(and (= |ULTIMATE.start_main_~data~0#1| |ULTIMATE.start_sll_circular_create_~data#1|) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1))} is VALID [2022-02-20 16:55:36,241 INFO L290 TraceCheckUtils]: 9: Hoare triple {755#(and (= |ULTIMATE.start_main_~data~0#1| |ULTIMATE.start_sll_circular_create_~data#1|) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1))} assume !!(sll_circular_create_~len#1 > 1); {755#(and (= |ULTIMATE.start_main_~data~0#1| |ULTIMATE.start_sll_circular_create_~data#1|) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1))} is VALID [2022-02-20 16:55:36,242 INFO L272 TraceCheckUtils]: 10: Hoare triple {755#(and (= |ULTIMATE.start_main_~data~0#1| |ULTIMATE.start_sll_circular_create_~data#1|) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1))} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {776#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:55:36,242 INFO L290 TraceCheckUtils]: 11: Hoare triple {776#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {779#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (= |node_create_~data#1| |node_create_#in~data#1|) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |node_create_~temp~0#1.offset| 0) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 16:55:36,243 INFO L290 TraceCheckUtils]: 12: Hoare triple {779#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (= |node_create_~data#1| |node_create_#in~data#1|) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |node_create_~temp~0#1.offset| 0) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {779#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (= |node_create_~data#1| |node_create_#in~data#1|) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |node_create_~temp~0#1.offset| 0) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 16:55:36,244 INFO L290 TraceCheckUtils]: 13: Hoare triple {779#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (= |node_create_~data#1| |node_create_#in~data#1|) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |node_create_~temp~0#1.offset| 0) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {780#(and (<= 0 |node_create_#res#1.offset|) (= (select (select |#memory_int| |node_create_#res#1.base|) 4) |node_create_#in~data#1|) (<= |node_create_#res#1.offset| 0) (= (select |old(#valid)| |node_create_#res#1.base|) 0) (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (= (select |#valid| |node_create_#res#1.base|) 1))} is VALID [2022-02-20 16:55:36,244 INFO L290 TraceCheckUtils]: 14: Hoare triple {780#(and (<= 0 |node_create_#res#1.offset|) (= (select (select |#memory_int| |node_create_#res#1.base|) 4) |node_create_#in~data#1|) (<= |node_create_#res#1.offset| 0) (= (select |old(#valid)| |node_create_#res#1.base|) 0) (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (= (select |#valid| |node_create_#res#1.base|) 1))} assume true; {780#(and (<= 0 |node_create_#res#1.offset|) (= (select (select |#memory_int| |node_create_#res#1.base|) 4) |node_create_#in~data#1|) (<= |node_create_#res#1.offset| 0) (= (select |old(#valid)| |node_create_#res#1.base|) 0) (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (= (select |#valid| |node_create_#res#1.base|) 1))} is VALID [2022-02-20 16:55:36,246 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {780#(and (<= 0 |node_create_#res#1.offset|) (= (select (select |#memory_int| |node_create_#res#1.base|) 4) |node_create_#in~data#1|) (<= |node_create_#res#1.offset| 0) (= (select |old(#valid)| |node_create_#res#1.base|) 0) (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (= (select |#valid| |node_create_#res#1.base|) 1))} {755#(and (= |ULTIMATE.start_main_~data~0#1| |ULTIMATE.start_sll_circular_create_~data#1|) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1))} #139#return; {761#(and (= |ULTIMATE.start_sll_circular_create_#t~ret5#1.offset| 0) (= |ULTIMATE.start_main_~data~0#1| (select (select |#memory_int| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 4)) (not (= |ULTIMATE.start_sll_circular_create_#t~ret5#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_sll_circular_create_~last~0#1.base| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|)))} is VALID [2022-02-20 16:55:36,246 INFO L290 TraceCheckUtils]: 16: Hoare triple {761#(and (= |ULTIMATE.start_sll_circular_create_#t~ret5#1.offset| 0) (= |ULTIMATE.start_main_~data~0#1| (select (select |#memory_int| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 4)) (not (= |ULTIMATE.start_sll_circular_create_#t~ret5#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_sll_circular_create_~last~0#1.base| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|)))} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4);sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := sll_circular_create_#t~post6#1 - 1;havoc sll_circular_create_#t~post6#1; {762#(and (= |ULTIMATE.start_sll_circular_create_~head~0#1.offset| 0) (not (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= (select (select |#memory_int| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) 4) |ULTIMATE.start_main_~data~0#1|) (not (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 16:55:36,247 INFO L290 TraceCheckUtils]: 17: Hoare triple {762#(and (= |ULTIMATE.start_sll_circular_create_~head~0#1.offset| 0) (not (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= (select (select |#memory_int| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) 4) |ULTIMATE.start_main_~data~0#1|) (not (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} assume !(sll_circular_create_~len#1 > 1); {762#(and (= |ULTIMATE.start_sll_circular_create_~head~0#1.offset| 0) (not (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= (select (select |#memory_int| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) 4) |ULTIMATE.start_main_~data~0#1|) (not (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 16:55:36,248 INFO L290 TraceCheckUtils]: 18: Hoare triple {762#(and (= |ULTIMATE.start_sll_circular_create_~head~0#1.offset| 0) (not (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= (select (select |#memory_int| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) 4) |ULTIMATE.start_main_~data~0#1|) (not (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)))} call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4);sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {763#(and (= |ULTIMATE.start_sll_circular_create_#res#1.offset| 0) (= (select |#valid| |ULTIMATE.start_sll_circular_create_#res#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= (select (select |#memory_int| |ULTIMATE.start_sll_circular_create_#res#1.base|) 4) |ULTIMATE.start_main_~data~0#1|) (not (= |ULTIMATE.start_sll_circular_create_#res#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 16:55:36,249 INFO L290 TraceCheckUtils]: 19: Hoare triple {763#(and (= |ULTIMATE.start_sll_circular_create_#res#1.offset| 0) (= (select |#valid| |ULTIMATE.start_sll_circular_create_#res#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= (select (select |#memory_int| |ULTIMATE.start_sll_circular_create_#res#1.base|) 4) |ULTIMATE.start_main_~data~0#1|) (not (= |ULTIMATE.start_sll_circular_create_#res#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} main_#t~ret16#1.base, main_#t~ret16#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret16#1.base, main_#t~ret16#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret16#1.base, main_#t~ret16#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_sll_circular_insert } true;sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset, sll_circular_insert_#in~data#1, sll_circular_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset, sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset, sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset, sll_circular_insert_#t~post12#1, sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset, sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset, sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset, sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, sll_circular_insert_~data#1, sll_circular_insert_~index#1, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset, sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset := sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset;sll_circular_insert_~data#1 := sll_circular_insert_#in~data#1;sll_circular_insert_~index#1 := sll_circular_insert_#in~index#1; {764#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 1) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_sll_circular_insert_~head#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_main_~data~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 4)))} is VALID [2022-02-20 16:55:36,250 INFO L272 TraceCheckUtils]: 20: Hoare triple {764#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 1) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_sll_circular_insert_~head#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_main_~data~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 4)))} call sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset := node_create(sll_circular_insert_~data#1); {776#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:55:36,251 INFO L290 TraceCheckUtils]: 21: Hoare triple {776#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {781#(and (= |#memory_int| |old(#memory_int)|) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |node_create_~temp~0#1.offset| (select |old(#valid)| |node_create_~temp~0#1.base|)) (not (= |node_create_~temp~0#1.offset| 1)))} is VALID [2022-02-20 16:55:36,252 INFO L290 TraceCheckUtils]: 22: Hoare triple {781#(and (= |#memory_int| |old(#memory_int)|) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |node_create_~temp~0#1.offset| (select |old(#valid)| |node_create_~temp~0#1.base|)) (not (= |node_create_~temp~0#1.offset| 1)))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {781#(and (= |#memory_int| |old(#memory_int)|) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |node_create_~temp~0#1.offset| (select |old(#valid)| |node_create_~temp~0#1.base|)) (not (= |node_create_~temp~0#1.offset| 1)))} is VALID [2022-02-20 16:55:36,255 INFO L290 TraceCheckUtils]: 23: Hoare triple {781#(and (= |#memory_int| |old(#memory_int)|) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |node_create_~temp~0#1.offset| (select |old(#valid)| |node_create_~temp~0#1.base|)) (not (= |node_create_~temp~0#1.offset| 1)))} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {782#(and (= |#memory_int| (store (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) (@diff (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (select |#memory_int| (@diff (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|)))) (or (<= (+ (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (not (= (select |old(#valid)| |node_create_#res#1.base|) 1)) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|) (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)))) (or (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (not (= (select |old(#valid)| (@diff (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|)) 1))) (or (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (<= (+ (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|) 1) |#StackHeapBarrier|)) (or (not (= (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|)) 1)) (= |#memory_int| |old(#memory_int)|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))} is VALID [2022-02-20 16:55:36,257 INFO L290 TraceCheckUtils]: 24: Hoare triple {782#(and (= |#memory_int| (store (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) (@diff (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (select |#memory_int| (@diff (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|)))) (or (<= (+ (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (not (= (select |old(#valid)| |node_create_#res#1.base|) 1)) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|) (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)))) (or (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (not (= (select |old(#valid)| (@diff (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|)) 1))) (or (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (<= (+ (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|) 1) |#StackHeapBarrier|)) (or (not (= (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|)) 1)) (= |#memory_int| |old(#memory_int)|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))} assume true; {782#(and (= |#memory_int| (store (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) (@diff (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (select |#memory_int| (@diff (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|)))) (or (<= (+ (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (not (= (select |old(#valid)| |node_create_#res#1.base|) 1)) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|) (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)))) (or (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (not (= (select |old(#valid)| (@diff (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|)) 1))) (or (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (<= (+ (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|) 1) |#StackHeapBarrier|)) (or (not (= (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|)) 1)) (= |#memory_int| |old(#memory_int)|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))} is VALID [2022-02-20 16:55:36,260 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {782#(and (= |#memory_int| (store (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) (@diff (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (select |#memory_int| (@diff (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|)))) (or (<= (+ (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (not (= (select |old(#valid)| |node_create_#res#1.base|) 1)) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|) (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)))) (or (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (not (= (select |old(#valid)| (@diff (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|)) 1))) (or (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (<= (+ (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|) 1) |#StackHeapBarrier|)) (or (not (= (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|)) 1)) (= |#memory_int| |old(#memory_int)|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))} {764#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 1) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_sll_circular_insert_~head#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_main_~data~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 4)))} #141#return; {770#(and (not (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_sll_circular_insert_#t~ret9#1.base|)) (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|) (not (= |ULTIMATE.start_sll_circular_insert_~head#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|))) (= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|) |ULTIMATE.start_sll_circular_insert_#t~ret9#1.base|)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|)) 4) |ULTIMATE.start_main_~data~0#1|))} is VALID [2022-02-20 16:55:36,261 INFO L290 TraceCheckUtils]: 26: Hoare triple {770#(and (not (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_sll_circular_insert_#t~ret9#1.base|)) (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|) (not (= |ULTIMATE.start_sll_circular_insert_~head#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|))) (= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|) |ULTIMATE.start_sll_circular_insert_#t~ret9#1.base|)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|)) 4) |ULTIMATE.start_main_~data~0#1|))} sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset := sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := 0, 0;call sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset;havoc sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset; {771#(and (not (= |ULTIMATE.start_sll_circular_insert_~last~1#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 0) (= (select (select |#memory_int| |ULTIMATE.start_sll_circular_insert_~last~1#1.base|) 4) |ULTIMATE.start_main_~data~0#1|) (= |ULTIMATE.start_sll_circular_insert_~last~1#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (not (= |ULTIMATE.start_sll_circular_insert_~last~1#1.base| |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base|)) (not (= |ULTIMATE.start_sll_circular_insert_~last~1#1.offset| 4)) (not (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 16:55:36,262 INFO L290 TraceCheckUtils]: 27: Hoare triple {771#(and (not (= |ULTIMATE.start_sll_circular_insert_~last~1#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 0) (= (select (select |#memory_int| |ULTIMATE.start_sll_circular_insert_~last~1#1.base|) 4) |ULTIMATE.start_main_~data~0#1|) (= |ULTIMATE.start_sll_circular_insert_~last~1#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (not (= |ULTIMATE.start_sll_circular_insert_~last~1#1.base| |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base|)) (not (= |ULTIMATE.start_sll_circular_insert_~last~1#1.offset| 4)) (not (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} assume !!(sll_circular_insert_~index#1 > 0);sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;call sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset := read~$Pointer$(sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset;havoc sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset;sll_circular_insert_#t~post12#1 := sll_circular_insert_~index#1;sll_circular_insert_~index#1 := sll_circular_insert_#t~post12#1 - 1;havoc sll_circular_insert_#t~post12#1; {772#(and (not (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base|)) (not (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| 4)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base|) 4) |ULTIMATE.start_main_~data~0#1|) (not (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (not (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 16:55:36,263 INFO L290 TraceCheckUtils]: 28: Hoare triple {772#(and (not (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base|)) (not (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| 4)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base|) 4) |ULTIMATE.start_main_~data~0#1|) (not (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (not (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} assume !(sll_circular_insert_~index#1 > 0); {772#(and (not (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base|)) (not (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| 4)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base|) 4) |ULTIMATE.start_main_~data~0#1|) (not (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (not (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 16:55:36,264 INFO L290 TraceCheckUtils]: 29: Hoare triple {772#(and (not (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base|)) (not (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| 4)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base|) 4) |ULTIMATE.start_main_~data~0#1|) (not (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (not (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} assume sll_circular_insert_~snd_to_last~0#1.base != 0 || sll_circular_insert_~snd_to_last~0#1.offset != 0;call write~$Pointer$(sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset, 4);call write~$Pointer$(sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, 4); {773#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |ULTIMATE.start_main_~data~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 4)))} is VALID [2022-02-20 16:55:36,265 INFO L290 TraceCheckUtils]: 30: Hoare triple {773#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |ULTIMATE.start_main_~data~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 4)))} assume { :end_inline_sll_circular_insert } true;call main_#t~mem17#1.base, main_#t~mem17#1.offset := read~$Pointer$(main_~#s~0#1.base, main_~#s~0#1.offset, 4);main_~ptr~0#1.base, main_~ptr~0#1.offset := main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;main_~count~0#1 := 0; {774#(= (select (select |#memory_int| |ULTIMATE.start_main_~ptr~0#1.base|) (+ |ULTIMATE.start_main_~ptr~0#1.offset| 4)) |ULTIMATE.start_main_~data~0#1|)} is VALID [2022-02-20 16:55:36,266 INFO L290 TraceCheckUtils]: 31: Hoare triple {774#(= (select (select |#memory_int| |ULTIMATE.start_main_~ptr~0#1.base|) (+ |ULTIMATE.start_main_~ptr~0#1.offset| 4)) |ULTIMATE.start_main_~data~0#1|)} call main_#t~mem19#1 := read~int(main_~ptr~0#1.base, 4 + main_~ptr~0#1.offset, 4); {775#(= |ULTIMATE.start_main_~data~0#1| |ULTIMATE.start_main_#t~mem19#1|)} is VALID [2022-02-20 16:55:36,266 INFO L290 TraceCheckUtils]: 32: Hoare triple {775#(= |ULTIMATE.start_main_~data~0#1| |ULTIMATE.start_main_#t~mem19#1|)} assume main_~data~0#1 != main_#t~mem19#1;havoc main_#t~mem19#1; {747#false} is VALID [2022-02-20 16:55:36,266 INFO L290 TraceCheckUtils]: 33: Hoare triple {747#false} assume !false; {747#false} is VALID [2022-02-20 16:55:36,267 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 4 proven. 10 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-02-20 16:55:36,267 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:55:36,267 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1441778827] [2022-02-20 16:55:36,267 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1441778827] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:55:36,267 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [97062111] [2022-02-20 16:55:36,267 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:36,267 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:55:36,268 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:55:36,269 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 16:55:36,279 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-02-20 16:55:36,473 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:36,493 INFO L263 TraceCheckSpWp]: Trace formula consists of 348 conjuncts, 120 conjunts are in the unsatisfiable core [2022-02-20 16:55:36,511 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:36,523 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:55:36,622 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 16:55:36,721 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 5 treesize of output 3 [2022-02-20 16:55:36,852 INFO L356 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2022-02-20 16:55:36,853 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 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 [2022-02-20 16:55:37,031 INFO L356 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2022-02-20 16:55:37,032 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 7 [2022-02-20 16:55:37,114 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2022-02-20 16:55:37,222 INFO L356 Elim1Store]: treesize reduction 44, result has 30.2 percent of original size [2022-02-20 16:55:37,223 INFO L390 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 [2022-02-20 16:55:37,362 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 18 [2022-02-20 16:55:37,519 INFO L390 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 14 treesize of output 16 [2022-02-20 16:55:37,803 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 17 [2022-02-20 16:55:37,827 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 3 [2022-02-20 16:55:37,860 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2022-02-20 16:55:38,112 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:55:38,113 INFO L390 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 0 case distinctions, treesize of input 14 treesize of output 16 [2022-02-20 16:55:38,124 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:55:38,125 INFO L390 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 0 case distinctions, treesize of input 35 treesize of output 33 [2022-02-20 16:55:38,136 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:55:38,137 INFO L390 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 18 treesize of output 20 [2022-02-20 16:55:38,145 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:55:38,150 INFO L356 Elim1Store]: treesize reduction 4, result has 66.7 percent of original size [2022-02-20 16:55:38,151 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 20 treesize of output 18 [2022-02-20 16:55:38,674 INFO L356 Elim1Store]: treesize reduction 25, result has 21.9 percent of original size [2022-02-20 16:55:38,674 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 94 treesize of output 67 [2022-02-20 16:55:38,735 INFO L356 Elim1Store]: treesize reduction 36, result has 23.4 percent of original size [2022-02-20 16:55:38,736 INFO L390 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 4 new quantified variables, introduced 3 case distinctions, treesize of input 123 treesize of output 96 [2022-02-20 16:55:38,783 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:55:38,785 INFO L390 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 2 new quantified variables, introduced 0 case distinctions, treesize of input 42 treesize of output 40 [2022-02-20 16:55:38,823 INFO L390 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 0 case distinctions, treesize of input 45 treesize of output 39 [2022-02-20 16:55:38,850 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:55:38,851 INFO L390 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 22 treesize of output 24 [2022-02-20 16:55:38,874 INFO L390 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 26 treesize of output 28 [2022-02-20 16:55:39,090 INFO L356 Elim1Store]: treesize reduction 11, result has 8.3 percent of original size [2022-02-20 16:55:39,091 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 56 treesize of output 27 [2022-02-20 16:55:39,169 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 7 [2022-02-20 16:55:39,259 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 7 [2022-02-20 16:55:39,295 INFO L290 TraceCheckUtils]: 0: Hoare triple {746#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(23, 2); {746#true} is VALID [2022-02-20 16:55:39,296 INFO L290 TraceCheckUtils]: 1: Hoare triple {746#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret16#1.base, main_#t~ret16#1.offset, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~post24#1, main_#t~mem26#1, main_#t~mem27#1.base, main_#t~mem27#1.offset, main_#t~post28#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_#t~mem29#1.base, main_#t~mem29#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {789#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~data~0#1| |ULTIMATE.start_sll_circular_create_~data#1|) (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_main_~data~0#1| 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 16:55:39,297 INFO L272 TraceCheckUtils]: 2: Hoare triple {789#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~data~0#1| |ULTIMATE.start_sll_circular_create_~data#1|) (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_main_~data~0#1| 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {793#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 16:55:39,297 INFO L290 TraceCheckUtils]: 3: Hoare triple {793#(= |old(#valid)| |#valid|)} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {797#(= (store |old(#valid)| |node_create_~temp~0#1.base| 1) |#valid|)} is VALID [2022-02-20 16:55:39,298 INFO L290 TraceCheckUtils]: 4: Hoare triple {797#(= (store |old(#valid)| |node_create_~temp~0#1.base| 1) |#valid|)} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {797#(= (store |old(#valid)| |node_create_~temp~0#1.base| 1) |#valid|)} is VALID [2022-02-20 16:55:39,299 INFO L290 TraceCheckUtils]: 5: Hoare triple {797#(= (store |old(#valid)| |node_create_~temp~0#1.base| 1) |#valid|)} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {804#(= (store |old(#valid)| |node_create_#res#1.base| 1) |#valid|)} is VALID [2022-02-20 16:55:39,299 INFO L290 TraceCheckUtils]: 6: Hoare triple {804#(= (store |old(#valid)| |node_create_#res#1.base| 1) |#valid|)} assume true; {804#(= (store |old(#valid)| |node_create_#res#1.base| 1) |#valid|)} is VALID [2022-02-20 16:55:39,300 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {804#(= (store |old(#valid)| |node_create_#res#1.base| 1) |#valid|)} {789#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~data~0#1| |ULTIMATE.start_sll_circular_create_~data#1|) (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_main_~data~0#1| 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} #137#return; {811#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~data~0#1| |ULTIMATE.start_sll_circular_create_~data#1|) (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|) 1) (= |ULTIMATE.start_main_~data~0#1| 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 16:55:39,301 INFO L290 TraceCheckUtils]: 8: Hoare triple {811#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~data~0#1| |ULTIMATE.start_sll_circular_create_~data#1|) (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret4#1.base|) 1) (= |ULTIMATE.start_main_~data~0#1| 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {815#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~data~0#1| |ULTIMATE.start_sll_circular_create_~data#1|) (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_main_~data~0#1| 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1))} is VALID [2022-02-20 16:55:39,303 INFO L290 TraceCheckUtils]: 9: Hoare triple {815#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~data~0#1| |ULTIMATE.start_sll_circular_create_~data#1|) (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_main_~data~0#1| 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1))} assume !!(sll_circular_create_~len#1 > 1); {815#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~data~0#1| |ULTIMATE.start_sll_circular_create_~data#1|) (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_main_~data~0#1| 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1))} is VALID [2022-02-20 16:55:39,304 INFO L272 TraceCheckUtils]: 10: Hoare triple {815#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~data~0#1| |ULTIMATE.start_sll_circular_create_~data#1|) (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_main_~data~0#1| 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1))} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {793#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 16:55:39,304 INFO L290 TraceCheckUtils]: 11: Hoare triple {793#(= |old(#valid)| |#valid|)} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {825#(and (= |node_create_~data#1| |node_create_#in~data#1|) (= (store |old(#valid)| |node_create_~temp~0#1.base| 1) |#valid|) (= |node_create_~temp~0#1.offset| 0) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 16:55:39,305 INFO L290 TraceCheckUtils]: 12: Hoare triple {825#(and (= |node_create_~data#1| |node_create_#in~data#1|) (= (store |old(#valid)| |node_create_~temp~0#1.base| 1) |#valid|) (= |node_create_~temp~0#1.offset| 0) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {825#(and (= |node_create_~data#1| |node_create_#in~data#1|) (= (store |old(#valid)| |node_create_~temp~0#1.base| 1) |#valid|) (= |node_create_~temp~0#1.offset| 0) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 16:55:39,306 INFO L290 TraceCheckUtils]: 13: Hoare triple {825#(and (= |node_create_~data#1| |node_create_#in~data#1|) (= (store |old(#valid)| |node_create_~temp~0#1.base| 1) |#valid|) (= |node_create_~temp~0#1.offset| 0) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {832#(and (= (select |old(#valid)| |node_create_#res#1.base|) 0) (= (store |old(#valid)| |node_create_#res#1.base| 1) |#valid|) (= (select (select |#memory_int| |node_create_#res#1.base|) (+ 4 |node_create_#res#1.offset|)) |node_create_#in~data#1|) (= 0 |node_create_#res#1.offset|))} is VALID [2022-02-20 16:55:39,307 INFO L290 TraceCheckUtils]: 14: Hoare triple {832#(and (= (select |old(#valid)| |node_create_#res#1.base|) 0) (= (store |old(#valid)| |node_create_#res#1.base| 1) |#valid|) (= (select (select |#memory_int| |node_create_#res#1.base|) (+ 4 |node_create_#res#1.offset|)) |node_create_#in~data#1|) (= 0 |node_create_#res#1.offset|))} assume true; {832#(and (= (select |old(#valid)| |node_create_#res#1.base|) 0) (= (store |old(#valid)| |node_create_#res#1.base| 1) |#valid|) (= (select (select |#memory_int| |node_create_#res#1.base|) (+ 4 |node_create_#res#1.offset|)) |node_create_#in~data#1|) (= 0 |node_create_#res#1.offset|))} is VALID [2022-02-20 16:55:39,310 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {832#(and (= (select |old(#valid)| |node_create_#res#1.base|) 0) (= (store |old(#valid)| |node_create_#res#1.base| 1) |#valid|) (= (select (select |#memory_int| |node_create_#res#1.base|) (+ 4 |node_create_#res#1.offset|)) |node_create_#in~data#1|) (= 0 |node_create_#res#1.offset|))} {815#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~data~0#1| |ULTIMATE.start_sll_circular_create_~data#1|) (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_main_~data~0#1| 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1))} #139#return; {839#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_sll_circular_create_#t~ret5#1.offset| 0) (= |ULTIMATE.start_main_~data~0#1| (select (select |#memory_int| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 4)) (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (not (= |ULTIMATE.start_sll_circular_create_#t~ret5#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 1) (= |ULTIMATE.start_main_~data~0#1| 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (not (= |ULTIMATE.start_sll_circular_create_~last~0#1.base| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1))} is VALID [2022-02-20 16:55:39,311 INFO L290 TraceCheckUtils]: 16: Hoare triple {839#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_sll_circular_create_#t~ret5#1.offset| 0) (= |ULTIMATE.start_main_~data~0#1| (select (select |#memory_int| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 4)) (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (not (= |ULTIMATE.start_sll_circular_create_#t~ret5#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 1) (= |ULTIMATE.start_main_~data~0#1| 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (not (= |ULTIMATE.start_sll_circular_create_~last~0#1.base| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1))} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4);sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := sll_circular_create_#t~post6#1 - 1;havoc sll_circular_create_#t~post6#1; {843#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_sll_circular_create_~head~0#1.offset| 0) (not (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) 1) (= (select (select |#memory_int| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) 4) |ULTIMATE.start_main_~data~0#1|) (= |ULTIMATE.start_main_~data~0#1| 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (not (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1))} is VALID [2022-02-20 16:55:39,311 INFO L290 TraceCheckUtils]: 17: Hoare triple {843#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_sll_circular_create_~head~0#1.offset| 0) (not (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) 1) (= (select (select |#memory_int| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) 4) |ULTIMATE.start_main_~data~0#1|) (= |ULTIMATE.start_main_~data~0#1| 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (not (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1))} assume !(sll_circular_create_~len#1 > 1); {843#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_sll_circular_create_~head~0#1.offset| 0) (not (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) 1) (= (select (select |#memory_int| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) 4) |ULTIMATE.start_main_~data~0#1|) (= |ULTIMATE.start_main_~data~0#1| 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (not (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1))} is VALID [2022-02-20 16:55:39,313 INFO L290 TraceCheckUtils]: 18: Hoare triple {843#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_sll_circular_create_~head~0#1.offset| 0) (not (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) 1) (= (select (select |#memory_int| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) 4) |ULTIMATE.start_main_~data~0#1|) (= |ULTIMATE.start_main_~data~0#1| 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (not (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_sll_circular_create_~last~0#1.base|)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1))} call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4);sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {850#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_sll_circular_create_#res#1.offset| 0) (= (select |#valid| |ULTIMATE.start_sll_circular_create_#res#1.base|) 1) (= (select (select |#memory_int| |ULTIMATE.start_sll_circular_create_#res#1.base|) 4) |ULTIMATE.start_main_~data~0#1|) (= |ULTIMATE.start_main_~data~0#1| 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (not (= |ULTIMATE.start_sll_circular_create_#res#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 16:55:39,314 INFO L290 TraceCheckUtils]: 19: Hoare triple {850#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= |ULTIMATE.start_sll_circular_create_#res#1.offset| 0) (= (select |#valid| |ULTIMATE.start_sll_circular_create_#res#1.base|) 1) (= (select (select |#memory_int| |ULTIMATE.start_sll_circular_create_#res#1.base|) 4) |ULTIMATE.start_main_~data~0#1|) (= |ULTIMATE.start_main_~data~0#1| 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (not (= |ULTIMATE.start_sll_circular_create_#res#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} main_#t~ret16#1.base, main_#t~ret16#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret16#1.base, main_#t~ret16#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret16#1.base, main_#t~ret16#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_sll_circular_insert } true;sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset, sll_circular_insert_#in~data#1, sll_circular_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset, sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset, sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset, sll_circular_insert_#t~post12#1, sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset, sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset, sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset, sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, sll_circular_insert_~data#1, sll_circular_insert_~index#1, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset, sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset := sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset;sll_circular_insert_~data#1 := sll_circular_insert_#in~data#1;sll_circular_insert_~index#1 := sll_circular_insert_#in~index#1; {854#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 1) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|) (= |ULTIMATE.start_main_~data~0#1| 1) (not (= |ULTIMATE.start_main_~#s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= |ULTIMATE.start_main_~data~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 4)))} is VALID [2022-02-20 16:55:39,315 INFO L272 TraceCheckUtils]: 20: Hoare triple {854#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 1) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|) (= |ULTIMATE.start_main_~data~0#1| 1) (not (= |ULTIMATE.start_main_~#s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= |ULTIMATE.start_main_~data~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 4)))} call sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset := node_create(sll_circular_insert_~data#1); {858#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:55:39,316 INFO L290 TraceCheckUtils]: 21: Hoare triple {858#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {862#(and (< |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 16:55:39,316 INFO L290 TraceCheckUtils]: 22: Hoare triple {862#(and (< |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {862#(and (< |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 16:55:39,319 WARN L290 TraceCheckUtils]: 23: Hoare triple {862#(and (< |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {869#(and (< |node_create_#res#1.base| |#StackHeapBarrier|) (exists ((v_ArrVal_426 (Array Int Int))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| |node_create_#res#1.base| v_ArrVal_426))) (= (select |old(#valid)| |node_create_#res#1.base|) 0) (exists ((v_ArrVal_423 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |node_create_#res#1.base| v_ArrVal_423))) (exists ((v_ArrVal_424 (Array Int Int))) (= (store |old(#memory_$Pointer$.base)| |node_create_#res#1.base| v_ArrVal_424) |#memory_$Pointer$.base|)))} is UNKNOWN [2022-02-20 16:55:39,320 INFO L290 TraceCheckUtils]: 24: Hoare triple {869#(and (< |node_create_#res#1.base| |#StackHeapBarrier|) (exists ((v_ArrVal_426 (Array Int Int))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| |node_create_#res#1.base| v_ArrVal_426))) (= (select |old(#valid)| |node_create_#res#1.base|) 0) (exists ((v_ArrVal_423 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |node_create_#res#1.base| v_ArrVal_423))) (exists ((v_ArrVal_424 (Array Int Int))) (= (store |old(#memory_$Pointer$.base)| |node_create_#res#1.base| v_ArrVal_424) |#memory_$Pointer$.base|)))} assume true; {869#(and (< |node_create_#res#1.base| |#StackHeapBarrier|) (exists ((v_ArrVal_426 (Array Int Int))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| |node_create_#res#1.base| v_ArrVal_426))) (= (select |old(#valid)| |node_create_#res#1.base|) 0) (exists ((v_ArrVal_423 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |node_create_#res#1.base| v_ArrVal_423))) (exists ((v_ArrVal_424 (Array Int Int))) (= (store |old(#memory_$Pointer$.base)| |node_create_#res#1.base| v_ArrVal_424) |#memory_$Pointer$.base|)))} is VALID [2022-02-20 16:55:39,322 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {869#(and (< |node_create_#res#1.base| |#StackHeapBarrier|) (exists ((v_ArrVal_426 (Array Int Int))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| |node_create_#res#1.base| v_ArrVal_426))) (= (select |old(#valid)| |node_create_#res#1.base|) 0) (exists ((v_ArrVal_423 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |node_create_#res#1.base| v_ArrVal_423))) (exists ((v_ArrVal_424 (Array Int Int))) (= (store |old(#memory_$Pointer$.base)| |node_create_#res#1.base| v_ArrVal_424) |#memory_$Pointer$.base|)))} {854#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 1) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|) (= |ULTIMATE.start_main_~data~0#1| 1) (not (= |ULTIMATE.start_main_~#s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= |ULTIMATE.start_main_~data~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 4)))} #141#return; {876#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) |ULTIMATE.start_sll_circular_insert_#t~ret9#1.base|)) (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|) (< (+ |ULTIMATE.start_sll_circular_insert_#t~ret9#1.base| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~data~0#1| 1) (not (= |ULTIMATE.start_main_~#s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= |ULTIMATE.start_main_~data~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 4)))} is VALID [2022-02-20 16:55:39,323 INFO L290 TraceCheckUtils]: 26: Hoare triple {876#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) |ULTIMATE.start_sll_circular_insert_#t~ret9#1.base|)) (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|) (< (+ |ULTIMATE.start_sll_circular_insert_#t~ret9#1.base| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~data~0#1| 1) (not (= |ULTIMATE.start_main_~#s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= |ULTIMATE.start_main_~data~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 4)))} sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset := sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := 0, 0;call sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset;havoc sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset; {880#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |ULTIMATE.start_sll_circular_insert_~last~1#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (not (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_main_~data~0#1| 1) (not (= |ULTIMATE.start_main_~#s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (< (+ |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~data~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 4)) (<= |ULTIMATE.start_sll_circular_insert_~last~1#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)))} is VALID [2022-02-20 16:55:39,324 INFO L290 TraceCheckUtils]: 27: Hoare triple {880#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |ULTIMATE.start_sll_circular_insert_~last~1#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (not (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_main_~data~0#1| 1) (not (= |ULTIMATE.start_main_~#s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (< (+ |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~data~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 4)) (<= |ULTIMATE.start_sll_circular_insert_~last~1#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)))} assume !!(sll_circular_insert_~index#1 > 0);sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;call sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset := read~$Pointer$(sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset;havoc sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset;sll_circular_insert_#t~post12#1 := sll_circular_insert_~index#1;sll_circular_insert_~index#1 := sll_circular_insert_#t~post12#1 - 1;havoc sll_circular_insert_#t~post12#1; {884#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 0) (not (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (<= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (= |ULTIMATE.start_main_~data~0#1| 1) (not (= |ULTIMATE.start_main_~#s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (< (+ |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~data~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 4)))} is VALID [2022-02-20 16:55:39,325 INFO L290 TraceCheckUtils]: 28: Hoare triple {884#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 0) (not (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (<= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (= |ULTIMATE.start_main_~data~0#1| 1) (not (= |ULTIMATE.start_main_~#s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (< (+ |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~data~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 4)))} assume !(sll_circular_insert_~index#1 > 0); {884#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 0) (not (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (<= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (= |ULTIMATE.start_main_~data~0#1| 1) (not (= |ULTIMATE.start_main_~#s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (< (+ |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~data~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 4)))} is VALID [2022-02-20 16:55:39,328 INFO L290 TraceCheckUtils]: 29: Hoare triple {884#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 0) (not (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (<= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (= |ULTIMATE.start_main_~data~0#1| 1) (not (= |ULTIMATE.start_main_~#s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (< (+ |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~data~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 4)))} assume sll_circular_insert_~snd_to_last~0#1.base != 0 || sll_circular_insert_~snd_to_last~0#1.offset != 0;call write~$Pointer$(sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset, 4);call write~$Pointer$(sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, 4); {891#(and (exists ((|ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| Int)) (and (<= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| 0) (< (+ (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset|) 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset|) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |ULTIMATE.start_main_~data~0#1| 1) (not (= |ULTIMATE.start_main_~#s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= |ULTIMATE.start_main_~data~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 4)))} is VALID [2022-02-20 16:55:39,329 INFO L290 TraceCheckUtils]: 30: Hoare triple {891#(and (exists ((|ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| Int)) (and (<= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| 0) (< (+ (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset|) 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset|) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |ULTIMATE.start_main_~data~0#1| 1) (not (= |ULTIMATE.start_main_~#s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= |ULTIMATE.start_main_~data~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 4)))} assume { :end_inline_sll_circular_insert } true;call main_#t~mem17#1.base, main_#t~mem17#1.offset := read~$Pointer$(main_~#s~0#1.base, main_~#s~0#1.offset, 4);main_~ptr~0#1.base, main_~ptr~0#1.offset := main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;main_~count~0#1 := 0; {895#(and (= |ULTIMATE.start_main_~ptr~0#1.offset| 0) (= |ULTIMATE.start_main_~data~0#1| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~ptr~0#1.base|) 4) |ULTIMATE.start_main_~data~0#1|))} is VALID [2022-02-20 16:55:39,330 INFO L290 TraceCheckUtils]: 31: Hoare triple {895#(and (= |ULTIMATE.start_main_~ptr~0#1.offset| 0) (= |ULTIMATE.start_main_~data~0#1| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~ptr~0#1.base|) 4) |ULTIMATE.start_main_~data~0#1|))} call main_#t~mem19#1 := read~int(main_~ptr~0#1.base, 4 + main_~ptr~0#1.offset, 4); {899#(and (= |ULTIMATE.start_main_~data~0#1| |ULTIMATE.start_main_#t~mem19#1|) (= |ULTIMATE.start_main_~data~0#1| 1))} is VALID [2022-02-20 16:55:39,330 INFO L290 TraceCheckUtils]: 32: Hoare triple {899#(and (= |ULTIMATE.start_main_~data~0#1| |ULTIMATE.start_main_#t~mem19#1|) (= |ULTIMATE.start_main_~data~0#1| 1))} assume main_~data~0#1 != main_#t~mem19#1;havoc main_#t~mem19#1; {747#false} is VALID [2022-02-20 16:55:39,330 INFO L290 TraceCheckUtils]: 33: Hoare triple {747#false} assume !false; {747#false} is VALID [2022-02-20 16:55:39,331 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 16:55:39,331 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:55:39,441 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_433 Int) (v_ArrVal_430 Int) (v_ArrVal_428 (Array Int Int)) (v_ArrVal_431 (Array Int Int)) (v_ArrVal_434 (Array Int Int))) (= |c_ULTIMATE.start_main_~data~0#1| (select (select (store (store |c_#memory_int| |c_ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| (store (select |c_#memory_int| |c_ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base|) |c_ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| v_ArrVal_430)) |c_ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| v_ArrVal_428) (select (select (store (store |c_#memory_$Pointer$.base| |c_ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| (store (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base|) |c_ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| |c_ULTIMATE.start_sll_circular_insert_~new_node~0#1.base|)) |c_ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| v_ArrVal_431) |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|)) (+ (select (select (store (store |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| (store (select |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base|) |c_ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| v_ArrVal_433)) |c_ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| v_ArrVal_434) |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 4)))) is different from false [2022-02-20 16:55:39,657 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_433 Int) (v_ArrVal_430 Int) (v_ArrVal_428 (Array Int Int)) (|v_ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset_6| Int) (v_ArrVal_431 (Array Int Int)) (v_ArrVal_434 (Array Int Int))) (or (= |c_ULTIMATE.start_main_~data~0#1| (select (select (store (store |c_#memory_int| |c_ULTIMATE.start_sll_circular_insert_~last~1#1.base| (store (select |c_#memory_int| |c_ULTIMATE.start_sll_circular_insert_~last~1#1.base|) |v_ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset_6| v_ArrVal_430)) |c_ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| v_ArrVal_428) (select (select (store (store |c_#memory_$Pointer$.base| |c_ULTIMATE.start_sll_circular_insert_~last~1#1.base| (store (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_sll_circular_insert_~last~1#1.base|) |v_ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset_6| |c_ULTIMATE.start_sll_circular_insert_~new_node~0#1.base|)) |c_ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| v_ArrVal_431) |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|)) (+ (select (select (store (store |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_sll_circular_insert_~last~1#1.base| (store (select |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_sll_circular_insert_~last~1#1.base|) |v_ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset_6| v_ArrVal_433)) |c_ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| v_ArrVal_434) |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 4))) (not (<= |v_ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset_6| |c_ULTIMATE.start_sll_circular_insert_~last~1#1.offset|)))) is different from false [2022-02-20 16:55:39,832 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_433 Int) (v_ArrVal_430 Int) (v_ArrVal_428 (Array Int Int)) (|v_ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset_6| Int) (v_ArrVal_431 (Array Int Int)) (v_ArrVal_434 (Array Int Int))) (or (= |c_ULTIMATE.start_main_~data~0#1| (let ((.cse0 (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_sll_circular_insert_~head#1.base|) |c_ULTIMATE.start_sll_circular_insert_~head#1.offset|))) (select (select (store (store |c_#memory_int| .cse0 (store (select |c_#memory_int| .cse0) |v_ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset_6| v_ArrVal_430)) |c_ULTIMATE.start_sll_circular_insert_#t~ret9#1.base| v_ArrVal_428) (select (select (store (store |c_#memory_$Pointer$.base| .cse0 (store (select |c_#memory_$Pointer$.base| .cse0) |v_ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset_6| |c_ULTIMATE.start_sll_circular_insert_#t~ret9#1.base|)) |c_ULTIMATE.start_sll_circular_insert_#t~ret9#1.base| v_ArrVal_431) |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|)) (+ (select (select (store (store |c_#memory_$Pointer$.offset| .cse0 (store (select |c_#memory_$Pointer$.offset| .cse0) |v_ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset_6| v_ArrVal_433)) |c_ULTIMATE.start_sll_circular_insert_#t~ret9#1.base| v_ArrVal_434) |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 4)))) (< (select (select |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_sll_circular_insert_~head#1.base|) |c_ULTIMATE.start_sll_circular_insert_~head#1.offset|) |v_ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset_6|))) is different from false [2022-02-20 16:55:40,387 WARN L838 $PredicateComparison]: unable to prove that (forall ((|v_ULTIMATE.start_sll_circular_insert_#t~ret9#1.base_9| Int) (v_ArrVal_433 Int) (v_ArrVal_430 Int) (v_ArrVal_428 (Array Int Int)) (|v_ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset_6| Int) (v_ArrVal_443 (Array Int Int)) (v_ArrVal_431 (Array Int Int)) (v_ArrVal_445 (Array Int Int)) (v_ArrVal_434 (Array Int Int)) (v_ArrVal_444 (Array Int Int))) (let ((.cse0 (store |c_#memory_$Pointer$.offset| |v_ULTIMATE.start_sll_circular_insert_#t~ret9#1.base_9| v_ArrVal_444))) (or (< (select (select .cse0 |c_ULTIMATE.start_sll_circular_insert_~head#1.base|) |c_ULTIMATE.start_sll_circular_insert_~head#1.offset|) |v_ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset_6|) (not (< |v_ULTIMATE.start_sll_circular_insert_#t~ret9#1.base_9| |c_#StackHeapBarrier|)) (not (= (select |c_#valid| |v_ULTIMATE.start_sll_circular_insert_#t~ret9#1.base_9|) 0)) (= |c_ULTIMATE.start_main_~data~0#1| (let ((.cse3 (store |c_#memory_$Pointer$.base| |v_ULTIMATE.start_sll_circular_insert_#t~ret9#1.base_9| v_ArrVal_443))) (let ((.cse2 (select (select .cse3 |c_ULTIMATE.start_sll_circular_insert_~head#1.base|) |c_ULTIMATE.start_sll_circular_insert_~head#1.offset|))) (select (select (store (let ((.cse1 (store |c_#memory_int| |v_ULTIMATE.start_sll_circular_insert_#t~ret9#1.base_9| v_ArrVal_445))) (store .cse1 .cse2 (store (select .cse1 .cse2) |v_ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset_6| v_ArrVal_430))) |v_ULTIMATE.start_sll_circular_insert_#t~ret9#1.base_9| v_ArrVal_428) (select (select (store (store .cse3 .cse2 (store (select .cse3 .cse2) |v_ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset_6| |v_ULTIMATE.start_sll_circular_insert_#t~ret9#1.base_9|)) |v_ULTIMATE.start_sll_circular_insert_#t~ret9#1.base_9| v_ArrVal_431) |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|)) (+ (select (select (store (store .cse0 .cse2 (store (select .cse0 .cse2) |v_ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset_6| v_ArrVal_433)) |v_ULTIMATE.start_sll_circular_insert_#t~ret9#1.base_9| v_ArrVal_434) |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 4)))))))) is different from false [2022-02-20 16:55:40,390 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [97062111] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:55:40,390 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 16:55:40,390 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 23] total 43 [2022-02-20 16:55:40,390 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [260512275] [2022-02-20 16:55:40,390 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 16:55:40,391 INFO L78 Accepts]: Start accepts. Automaton has has 43 states, 39 states have (on average 1.3846153846153846) internal successors, (54), 34 states have internal predecessors, (54), 6 states have call successors, (6), 3 states have call predecessors, (6), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Word has length 34 [2022-02-20 16:55:40,391 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:55:40,391 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 43 states, 39 states have (on average 1.3846153846153846) internal successors, (54), 34 states have internal predecessors, (54), 6 states have call successors, (6), 3 states have call predecessors, (6), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 16:55:40,470 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 65 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:40,471 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 43 states [2022-02-20 16:55:40,471 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:55:40,472 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 43 interpolants. [2022-02-20 16:55:40,476 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=142, Invalid=1760, Unknown=6, NotChecked=348, Total=2256 [2022-02-20 16:55:40,476 INFO L87 Difference]: Start difference. First operand 37 states and 48 transitions. Second operand has 43 states, 39 states have (on average 1.3846153846153846) internal successors, (54), 34 states have internal predecessors, (54), 6 states have call successors, (6), 3 states have call predecessors, (6), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 16:55:42,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:42,419 INFO L93 Difference]: Finished difference Result 61 states and 84 transitions. [2022-02-20 16:55:42,419 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-02-20 16:55:42,419 INFO L78 Accepts]: Start accepts. Automaton has has 43 states, 39 states have (on average 1.3846153846153846) internal successors, (54), 34 states have internal predecessors, (54), 6 states have call successors, (6), 3 states have call predecessors, (6), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Word has length 34 [2022-02-20 16:55:42,420 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:55:42,420 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 39 states have (on average 1.3846153846153846) internal successors, (54), 34 states have internal predecessors, (54), 6 states have call successors, (6), 3 states have call predecessors, (6), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 16:55:42,421 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 81 transitions. [2022-02-20 16:55:42,421 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 39 states have (on average 1.3846153846153846) internal successors, (54), 34 states have internal predecessors, (54), 6 states have call successors, (6), 3 states have call predecessors, (6), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 16:55:42,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 81 transitions. [2022-02-20 16:55:42,423 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 81 transitions. [2022-02-20 16:55:42,499 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 80 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:42,501 INFO L225 Difference]: With dead ends: 61 [2022-02-20 16:55:42,501 INFO L226 Difference]: Without dead ends: 59 [2022-02-20 16:55:42,502 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 72 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 52 ConstructedPredicates, 4 IntricatePredicates, 0 DeprecatedPredicates, 515 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=192, Invalid=2268, Unknown=6, NotChecked=396, Total=2862 [2022-02-20 16:55:42,503 INFO L933 BasicCegarLoop]: 28 mSDtfsCounter, 19 mSDsluCounter, 368 mSDsCounter, 0 mSdLazyCounter, 726 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 396 SdHoareTripleChecker+Invalid, 795 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 726 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 48 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-02-20 16:55:42,503 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 396 Invalid, 795 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 726 Invalid, 0 Unknown, 48 Unchecked, 0.7s Time] [2022-02-20 16:55:42,504 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2022-02-20 16:55:42,513 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 50. [2022-02-20 16:55:42,513 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:55:42,514 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand has 50 states, 43 states have (on average 1.3255813953488371) internal successors, (57), 43 states have internal predecessors, (57), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 16:55:42,514 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand has 50 states, 43 states have (on average 1.3255813953488371) internal successors, (57), 43 states have internal predecessors, (57), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 16:55:42,514 INFO L87 Difference]: Start difference. First operand 59 states. Second operand has 50 states, 43 states have (on average 1.3255813953488371) internal successors, (57), 43 states have internal predecessors, (57), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 16:55:42,516 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:42,516 INFO L93 Difference]: Finished difference Result 59 states and 82 transitions. [2022-02-20 16:55:42,516 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 82 transitions. [2022-02-20 16:55:42,517 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:42,517 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:42,517 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 43 states have (on average 1.3255813953488371) internal successors, (57), 43 states have internal predecessors, (57), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 59 states. [2022-02-20 16:55:42,517 INFO L87 Difference]: Start difference. First operand has 50 states, 43 states have (on average 1.3255813953488371) internal successors, (57), 43 states have internal predecessors, (57), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 59 states. [2022-02-20 16:55:42,519 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:42,519 INFO L93 Difference]: Finished difference Result 59 states and 82 transitions. [2022-02-20 16:55:42,519 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 82 transitions. [2022-02-20 16:55:42,520 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:42,520 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:42,520 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:55:42,520 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:55:42,521 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 43 states have (on average 1.3255813953488371) internal successors, (57), 43 states have internal predecessors, (57), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 16:55:42,522 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 67 transitions. [2022-02-20 16:55:42,522 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 67 transitions. Word has length 34 [2022-02-20 16:55:42,522 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:55:42,522 INFO L470 AbstractCegarLoop]: Abstraction has 50 states and 67 transitions. [2022-02-20 16:55:42,523 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 43 states, 39 states have (on average 1.3846153846153846) internal successors, (54), 34 states have internal predecessors, (54), 6 states have call successors, (6), 3 states have call predecessors, (6), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 16:55:42,523 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 67 transitions. [2022-02-20 16:55:42,523 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-02-20 16:55:42,526 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:55:42,526 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:55:42,552 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-02-20 16:55:42,752 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:55:42,752 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:55:42,753 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:55:42,753 INFO L85 PathProgramCache]: Analyzing trace with hash 1814087211, now seen corresponding path program 2 times [2022-02-20 16:55:42,753 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:55:42,753 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1236398152] [2022-02-20 16:55:42,753 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:42,753 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:55:42,784 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:42,828 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:55:42,832 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:42,836 INFO L290 TraceCheckUtils]: 0: Hoare triple {1240#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1219#true} is VALID [2022-02-20 16:55:42,836 INFO L290 TraceCheckUtils]: 1: Hoare triple {1219#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1219#true} is VALID [2022-02-20 16:55:42,836 INFO L290 TraceCheckUtils]: 2: Hoare triple {1219#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1219#true} is VALID [2022-02-20 16:55:42,836 INFO L290 TraceCheckUtils]: 3: Hoare triple {1219#true} assume true; {1219#true} is VALID [2022-02-20 16:55:42,837 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1219#true} {1221#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} #137#return; {1221#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} is VALID [2022-02-20 16:55:42,837 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-02-20 16:55:42,840 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:42,843 INFO L290 TraceCheckUtils]: 0: Hoare triple {1240#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1219#true} is VALID [2022-02-20 16:55:42,843 INFO L290 TraceCheckUtils]: 1: Hoare triple {1219#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1219#true} is VALID [2022-02-20 16:55:42,844 INFO L290 TraceCheckUtils]: 2: Hoare triple {1219#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1219#true} is VALID [2022-02-20 16:55:42,844 INFO L290 TraceCheckUtils]: 3: Hoare triple {1219#true} assume true; {1219#true} is VALID [2022-02-20 16:55:42,844 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1219#true} {1221#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} #139#return; {1221#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} is VALID [2022-02-20 16:55:42,844 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-02-20 16:55:42,847 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:42,851 INFO L290 TraceCheckUtils]: 0: Hoare triple {1240#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1219#true} is VALID [2022-02-20 16:55:42,851 INFO L290 TraceCheckUtils]: 1: Hoare triple {1219#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1219#true} is VALID [2022-02-20 16:55:42,851 INFO L290 TraceCheckUtils]: 2: Hoare triple {1219#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1219#true} is VALID [2022-02-20 16:55:42,851 INFO L290 TraceCheckUtils]: 3: Hoare triple {1219#true} assume true; {1219#true} is VALID [2022-02-20 16:55:42,852 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1219#true} {1233#(<= |ULTIMATE.start_sll_circular_insert_~index#1| 1)} #141#return; {1233#(<= |ULTIMATE.start_sll_circular_insert_~index#1| 1)} is VALID [2022-02-20 16:55:42,852 INFO L290 TraceCheckUtils]: 0: Hoare triple {1219#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(23, 2); {1219#true} is VALID [2022-02-20 16:55:42,853 INFO L290 TraceCheckUtils]: 1: Hoare triple {1219#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret16#1.base, main_#t~ret16#1.offset, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~post24#1, main_#t~mem26#1, main_#t~mem27#1.base, main_#t~mem27#1.offset, main_#t~post28#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_#t~mem29#1.base, main_#t~mem29#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {1221#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} is VALID [2022-02-20 16:55:42,853 INFO L272 TraceCheckUtils]: 2: Hoare triple {1221#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {1240#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:55:42,854 INFO L290 TraceCheckUtils]: 3: Hoare triple {1240#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1219#true} is VALID [2022-02-20 16:55:42,854 INFO L290 TraceCheckUtils]: 4: Hoare triple {1219#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1219#true} is VALID [2022-02-20 16:55:42,854 INFO L290 TraceCheckUtils]: 5: Hoare triple {1219#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1219#true} is VALID [2022-02-20 16:55:42,854 INFO L290 TraceCheckUtils]: 6: Hoare triple {1219#true} assume true; {1219#true} is VALID [2022-02-20 16:55:42,854 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1219#true} {1221#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} #137#return; {1221#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} is VALID [2022-02-20 16:55:42,855 INFO L290 TraceCheckUtils]: 8: Hoare triple {1221#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {1221#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} is VALID [2022-02-20 16:55:42,855 INFO L290 TraceCheckUtils]: 9: Hoare triple {1221#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} assume !!(sll_circular_create_~len#1 > 1); {1221#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} is VALID [2022-02-20 16:55:42,856 INFO L272 TraceCheckUtils]: 10: Hoare triple {1221#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {1240#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:55:42,856 INFO L290 TraceCheckUtils]: 11: Hoare triple {1240#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1219#true} is VALID [2022-02-20 16:55:42,856 INFO L290 TraceCheckUtils]: 12: Hoare triple {1219#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1219#true} is VALID [2022-02-20 16:55:42,856 INFO L290 TraceCheckUtils]: 13: Hoare triple {1219#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1219#true} is VALID [2022-02-20 16:55:42,857 INFO L290 TraceCheckUtils]: 14: Hoare triple {1219#true} assume true; {1219#true} is VALID [2022-02-20 16:55:42,857 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1219#true} {1221#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} #139#return; {1221#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} is VALID [2022-02-20 16:55:42,858 INFO L290 TraceCheckUtils]: 16: Hoare triple {1221#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4);sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := sll_circular_create_#t~post6#1 - 1;havoc sll_circular_create_#t~post6#1; {1232#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 16:55:42,858 INFO L290 TraceCheckUtils]: 17: Hoare triple {1232#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} assume !(sll_circular_create_~len#1 > 1); {1232#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 16:55:42,858 INFO L290 TraceCheckUtils]: 18: Hoare triple {1232#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4);sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {1232#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 16:55:42,859 INFO L290 TraceCheckUtils]: 19: Hoare triple {1232#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} main_#t~ret16#1.base, main_#t~ret16#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret16#1.base, main_#t~ret16#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret16#1.base, main_#t~ret16#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_sll_circular_insert } true;sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset, sll_circular_insert_#in~data#1, sll_circular_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset, sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset, sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset, sll_circular_insert_#t~post12#1, sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset, sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset, sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset, sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, sll_circular_insert_~data#1, sll_circular_insert_~index#1, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset, sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset := sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset;sll_circular_insert_~data#1 := sll_circular_insert_#in~data#1;sll_circular_insert_~index#1 := sll_circular_insert_#in~index#1; {1233#(<= |ULTIMATE.start_sll_circular_insert_~index#1| 1)} is VALID [2022-02-20 16:55:42,860 INFO L272 TraceCheckUtils]: 20: Hoare triple {1233#(<= |ULTIMATE.start_sll_circular_insert_~index#1| 1)} call sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset := node_create(sll_circular_insert_~data#1); {1240#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:55:42,860 INFO L290 TraceCheckUtils]: 21: Hoare triple {1240#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1219#true} is VALID [2022-02-20 16:55:42,860 INFO L290 TraceCheckUtils]: 22: Hoare triple {1219#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1219#true} is VALID [2022-02-20 16:55:42,860 INFO L290 TraceCheckUtils]: 23: Hoare triple {1219#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1219#true} is VALID [2022-02-20 16:55:42,860 INFO L290 TraceCheckUtils]: 24: Hoare triple {1219#true} assume true; {1219#true} is VALID [2022-02-20 16:55:42,861 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {1219#true} {1233#(<= |ULTIMATE.start_sll_circular_insert_~index#1| 1)} #141#return; {1233#(<= |ULTIMATE.start_sll_circular_insert_~index#1| 1)} is VALID [2022-02-20 16:55:42,861 INFO L290 TraceCheckUtils]: 26: Hoare triple {1233#(<= |ULTIMATE.start_sll_circular_insert_~index#1| 1)} sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset := sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := 0, 0;call sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset;havoc sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset; {1233#(<= |ULTIMATE.start_sll_circular_insert_~index#1| 1)} is VALID [2022-02-20 16:55:42,862 INFO L290 TraceCheckUtils]: 27: Hoare triple {1233#(<= |ULTIMATE.start_sll_circular_insert_~index#1| 1)} assume !!(sll_circular_insert_~index#1 > 0);sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;call sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset := read~$Pointer$(sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset;havoc sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset;sll_circular_insert_#t~post12#1 := sll_circular_insert_~index#1;sll_circular_insert_~index#1 := sll_circular_insert_#t~post12#1 - 1;havoc sll_circular_insert_#t~post12#1; {1239#(<= |ULTIMATE.start_sll_circular_insert_~index#1| 0)} is VALID [2022-02-20 16:55:42,862 INFO L290 TraceCheckUtils]: 28: Hoare triple {1239#(<= |ULTIMATE.start_sll_circular_insert_~index#1| 0)} assume !!(sll_circular_insert_~index#1 > 0);sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;call sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset := read~$Pointer$(sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset;havoc sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset;sll_circular_insert_#t~post12#1 := sll_circular_insert_~index#1;sll_circular_insert_~index#1 := sll_circular_insert_#t~post12#1 - 1;havoc sll_circular_insert_#t~post12#1; {1220#false} is VALID [2022-02-20 16:55:42,862 INFO L290 TraceCheckUtils]: 29: Hoare triple {1220#false} assume !(sll_circular_insert_~index#1 > 0); {1220#false} is VALID [2022-02-20 16:55:42,862 INFO L290 TraceCheckUtils]: 30: Hoare triple {1220#false} assume sll_circular_insert_~snd_to_last~0#1.base != 0 || sll_circular_insert_~snd_to_last~0#1.offset != 0;call write~$Pointer$(sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset, 4);call write~$Pointer$(sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, 4); {1220#false} is VALID [2022-02-20 16:55:42,863 INFO L290 TraceCheckUtils]: 31: Hoare triple {1220#false} assume { :end_inline_sll_circular_insert } true;call main_#t~mem17#1.base, main_#t~mem17#1.offset := read~$Pointer$(main_~#s~0#1.base, main_~#s~0#1.offset, 4);main_~ptr~0#1.base, main_~ptr~0#1.offset := main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;main_~count~0#1 := 0; {1220#false} is VALID [2022-02-20 16:55:42,863 INFO L290 TraceCheckUtils]: 32: Hoare triple {1220#false} call main_#t~mem19#1 := read~int(main_~ptr~0#1.base, 4 + main_~ptr~0#1.offset, 4); {1220#false} is VALID [2022-02-20 16:55:42,863 INFO L290 TraceCheckUtils]: 33: Hoare triple {1220#false} assume main_~data~0#1 != main_#t~mem19#1;havoc main_#t~mem19#1; {1220#false} is VALID [2022-02-20 16:55:42,863 INFO L290 TraceCheckUtils]: 34: Hoare triple {1220#false} assume !false; {1220#false} is VALID [2022-02-20 16:55:42,863 INFO L134 CoverageAnalysis]: Checked inductivity of 19 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-02-20 16:55:42,863 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:55:42,863 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1236398152] [2022-02-20 16:55:42,864 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1236398152] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:55:42,864 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [465871891] [2022-02-20 16:55:42,864 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 16:55:42,864 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:55:42,864 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:55:42,865 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 16:55:42,866 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-02-20 16:55:42,994 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 16:55:42,994 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 16:55:42,996 INFO L263 TraceCheckSpWp]: Trace formula consists of 359 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 16:55:43,008 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:43,009 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:55:43,332 INFO L290 TraceCheckUtils]: 0: Hoare triple {1219#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(23, 2); {1219#true} is VALID [2022-02-20 16:55:43,333 INFO L290 TraceCheckUtils]: 1: Hoare triple {1219#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret16#1.base, main_#t~ret16#1.offset, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~post24#1, main_#t~mem26#1, main_#t~mem27#1.base, main_#t~mem27#1.offset, main_#t~post28#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_#t~mem29#1.base, main_#t~mem29#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {1232#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 16:55:43,333 INFO L272 TraceCheckUtils]: 2: Hoare triple {1232#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {1219#true} is VALID [2022-02-20 16:55:43,333 INFO L290 TraceCheckUtils]: 3: Hoare triple {1219#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1219#true} is VALID [2022-02-20 16:55:43,333 INFO L290 TraceCheckUtils]: 4: Hoare triple {1219#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1219#true} is VALID [2022-02-20 16:55:43,333 INFO L290 TraceCheckUtils]: 5: Hoare triple {1219#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1219#true} is VALID [2022-02-20 16:55:43,333 INFO L290 TraceCheckUtils]: 6: Hoare triple {1219#true} assume true; {1219#true} is VALID [2022-02-20 16:55:43,336 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1219#true} {1232#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} #137#return; {1232#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 16:55:43,337 INFO L290 TraceCheckUtils]: 8: Hoare triple {1232#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {1232#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 16:55:43,337 INFO L290 TraceCheckUtils]: 9: Hoare triple {1232#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} assume !!(sll_circular_create_~len#1 > 1); {1232#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 16:55:43,337 INFO L272 TraceCheckUtils]: 10: Hoare triple {1232#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {1219#true} is VALID [2022-02-20 16:55:43,337 INFO L290 TraceCheckUtils]: 11: Hoare triple {1219#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1219#true} is VALID [2022-02-20 16:55:43,338 INFO L290 TraceCheckUtils]: 12: Hoare triple {1219#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1219#true} is VALID [2022-02-20 16:55:43,338 INFO L290 TraceCheckUtils]: 13: Hoare triple {1219#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1219#true} is VALID [2022-02-20 16:55:43,338 INFO L290 TraceCheckUtils]: 14: Hoare triple {1219#true} assume true; {1219#true} is VALID [2022-02-20 16:55:43,338 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1219#true} {1232#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} #139#return; {1232#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 16:55:43,339 INFO L290 TraceCheckUtils]: 16: Hoare triple {1232#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4);sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := sll_circular_create_#t~post6#1 - 1;havoc sll_circular_create_#t~post6#1; {1232#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 16:55:43,339 INFO L290 TraceCheckUtils]: 17: Hoare triple {1232#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} assume !(sll_circular_create_~len#1 > 1); {1232#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 16:55:43,340 INFO L290 TraceCheckUtils]: 18: Hoare triple {1232#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4);sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {1232#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 16:55:43,341 INFO L290 TraceCheckUtils]: 19: Hoare triple {1232#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} main_#t~ret16#1.base, main_#t~ret16#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret16#1.base, main_#t~ret16#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret16#1.base, main_#t~ret16#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_sll_circular_insert } true;sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset, sll_circular_insert_#in~data#1, sll_circular_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset, sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset, sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset, sll_circular_insert_#t~post12#1, sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset, sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset, sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset, sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, sll_circular_insert_~data#1, sll_circular_insert_~index#1, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset, sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset := sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset;sll_circular_insert_~data#1 := sll_circular_insert_#in~data#1;sll_circular_insert_~index#1 := sll_circular_insert_#in~index#1; {1233#(<= |ULTIMATE.start_sll_circular_insert_~index#1| 1)} is VALID [2022-02-20 16:55:43,341 INFO L272 TraceCheckUtils]: 20: Hoare triple {1233#(<= |ULTIMATE.start_sll_circular_insert_~index#1| 1)} call sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset := node_create(sll_circular_insert_~data#1); {1219#true} is VALID [2022-02-20 16:55:43,341 INFO L290 TraceCheckUtils]: 21: Hoare triple {1219#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1219#true} is VALID [2022-02-20 16:55:43,341 INFO L290 TraceCheckUtils]: 22: Hoare triple {1219#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1219#true} is VALID [2022-02-20 16:55:43,341 INFO L290 TraceCheckUtils]: 23: Hoare triple {1219#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1219#true} is VALID [2022-02-20 16:55:43,342 INFO L290 TraceCheckUtils]: 24: Hoare triple {1219#true} assume true; {1219#true} is VALID [2022-02-20 16:55:43,342 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {1219#true} {1233#(<= |ULTIMATE.start_sll_circular_insert_~index#1| 1)} #141#return; {1233#(<= |ULTIMATE.start_sll_circular_insert_~index#1| 1)} is VALID [2022-02-20 16:55:43,343 INFO L290 TraceCheckUtils]: 26: Hoare triple {1233#(<= |ULTIMATE.start_sll_circular_insert_~index#1| 1)} sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset := sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := 0, 0;call sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset;havoc sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset; {1233#(<= |ULTIMATE.start_sll_circular_insert_~index#1| 1)} is VALID [2022-02-20 16:55:43,343 INFO L290 TraceCheckUtils]: 27: Hoare triple {1233#(<= |ULTIMATE.start_sll_circular_insert_~index#1| 1)} assume !!(sll_circular_insert_~index#1 > 0);sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;call sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset := read~$Pointer$(sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset;havoc sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset;sll_circular_insert_#t~post12#1 := sll_circular_insert_~index#1;sll_circular_insert_~index#1 := sll_circular_insert_#t~post12#1 - 1;havoc sll_circular_insert_#t~post12#1; {1239#(<= |ULTIMATE.start_sll_circular_insert_~index#1| 0)} is VALID [2022-02-20 16:55:43,344 INFO L290 TraceCheckUtils]: 28: Hoare triple {1239#(<= |ULTIMATE.start_sll_circular_insert_~index#1| 0)} assume !!(sll_circular_insert_~index#1 > 0);sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;call sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset := read~$Pointer$(sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset;havoc sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset;sll_circular_insert_#t~post12#1 := sll_circular_insert_~index#1;sll_circular_insert_~index#1 := sll_circular_insert_#t~post12#1 - 1;havoc sll_circular_insert_#t~post12#1; {1220#false} is VALID [2022-02-20 16:55:43,344 INFO L290 TraceCheckUtils]: 29: Hoare triple {1220#false} assume !(sll_circular_insert_~index#1 > 0); {1220#false} is VALID [2022-02-20 16:55:43,344 INFO L290 TraceCheckUtils]: 30: Hoare triple {1220#false} assume sll_circular_insert_~snd_to_last~0#1.base != 0 || sll_circular_insert_~snd_to_last~0#1.offset != 0;call write~$Pointer$(sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset, 4);call write~$Pointer$(sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, 4); {1220#false} is VALID [2022-02-20 16:55:43,344 INFO L290 TraceCheckUtils]: 31: Hoare triple {1220#false} assume { :end_inline_sll_circular_insert } true;call main_#t~mem17#1.base, main_#t~mem17#1.offset := read~$Pointer$(main_~#s~0#1.base, main_~#s~0#1.offset, 4);main_~ptr~0#1.base, main_~ptr~0#1.offset := main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;main_~count~0#1 := 0; {1220#false} is VALID [2022-02-20 16:55:43,344 INFO L290 TraceCheckUtils]: 32: Hoare triple {1220#false} call main_#t~mem19#1 := read~int(main_~ptr~0#1.base, 4 + main_~ptr~0#1.offset, 4); {1220#false} is VALID [2022-02-20 16:55:43,344 INFO L290 TraceCheckUtils]: 33: Hoare triple {1220#false} assume main_~data~0#1 != main_#t~mem19#1;havoc main_#t~mem19#1; {1220#false} is VALID [2022-02-20 16:55:43,344 INFO L290 TraceCheckUtils]: 34: Hoare triple {1220#false} assume !false; {1220#false} is VALID [2022-02-20 16:55:43,345 INFO L134 CoverageAnalysis]: Checked inductivity of 19 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-02-20 16:55:43,345 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:55:43,345 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [465871891] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:55:43,345 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 16:55:43,345 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 7 [2022-02-20 16:55:43,345 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1575333678] [2022-02-20 16:55:43,346 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:55:43,346 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.2) internal successors, (21), 5 states have internal predecessors, (21), 2 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 35 [2022-02-20 16:55:43,346 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:55:43,346 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.2) internal successors, (21), 5 states have internal predecessors, (21), 2 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:55:43,366 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:43,366 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 16:55:43,366 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:55:43,367 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 16:55:43,367 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-02-20 16:55:43,367 INFO L87 Difference]: Start difference. First operand 50 states and 67 transitions. Second operand has 5 states, 5 states have (on average 4.2) internal successors, (21), 5 states have internal predecessors, (21), 2 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:55:43,494 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:43,494 INFO L93 Difference]: Finished difference Result 68 states and 92 transitions. [2022-02-20 16:55:43,494 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 16:55:43,495 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.2) internal successors, (21), 5 states have internal predecessors, (21), 2 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 35 [2022-02-20 16:55:43,495 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:55:43,495 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.2) internal successors, (21), 5 states have internal predecessors, (21), 2 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:55:43,496 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 71 transitions. [2022-02-20 16:55:43,496 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.2) internal successors, (21), 5 states have internal predecessors, (21), 2 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:55:43,497 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 71 transitions. [2022-02-20 16:55:43,497 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 71 transitions. [2022-02-20 16:55:43,544 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:43,547 INFO L225 Difference]: With dead ends: 68 [2022-02-20 16:55:43,547 INFO L226 Difference]: Without dead ends: 50 [2022-02-20 16:55:43,547 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 48 GetRequests, 40 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2022-02-20 16:55:43,548 INFO L933 BasicCegarLoop]: 40 mSDtfsCounter, 73 mSDsluCounter, 25 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 73 SdHoareTripleChecker+Valid, 65 SdHoareTripleChecker+Invalid, 11 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:55:43,548 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [73 Valid, 65 Invalid, 11 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:55:43,549 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-02-20 16:55:43,589 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 50. [2022-02-20 16:55:43,589 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:55:43,589 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 50 states, 43 states have (on average 1.2790697674418605) internal successors, (55), 43 states have internal predecessors, (55), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 16:55:43,590 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 50 states, 43 states have (on average 1.2790697674418605) internal successors, (55), 43 states have internal predecessors, (55), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 16:55:43,590 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 50 states, 43 states have (on average 1.2790697674418605) internal successors, (55), 43 states have internal predecessors, (55), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 16:55:43,591 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:43,591 INFO L93 Difference]: Finished difference Result 50 states and 65 transitions. [2022-02-20 16:55:43,592 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 65 transitions. [2022-02-20 16:55:43,592 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:43,592 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:43,592 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 43 states have (on average 1.2790697674418605) internal successors, (55), 43 states have internal predecessors, (55), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 50 states. [2022-02-20 16:55:43,593 INFO L87 Difference]: Start difference. First operand has 50 states, 43 states have (on average 1.2790697674418605) internal successors, (55), 43 states have internal predecessors, (55), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 50 states. [2022-02-20 16:55:43,594 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:43,594 INFO L93 Difference]: Finished difference Result 50 states and 65 transitions. [2022-02-20 16:55:43,594 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 65 transitions. [2022-02-20 16:55:43,595 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:43,595 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:43,595 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:55:43,595 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:55:43,595 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 43 states have (on average 1.2790697674418605) internal successors, (55), 43 states have internal predecessors, (55), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 16:55:43,596 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 65 transitions. [2022-02-20 16:55:43,597 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 65 transitions. Word has length 35 [2022-02-20 16:55:43,597 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:55:43,597 INFO L470 AbstractCegarLoop]: Abstraction has 50 states and 65 transitions. [2022-02-20 16:55:43,597 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.2) internal successors, (21), 5 states have internal predecessors, (21), 2 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:55:43,597 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 65 transitions. [2022-02-20 16:55:43,598 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-02-20 16:55:43,598 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:55:43,598 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:55:43,614 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-02-20 16:55:43,803 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:55:43,804 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:55:43,804 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:55:43,804 INFO L85 PathProgramCache]: Analyzing trace with hash 1514019345, now seen corresponding path program 1 times [2022-02-20 16:55:43,804 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:55:43,804 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [216898499] [2022-02-20 16:55:43,804 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:43,805 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:55:43,836 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:43,888 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:55:43,892 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:43,916 INFO L290 TraceCheckUtils]: 0: Hoare triple {1629#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1609#true} is VALID [2022-02-20 16:55:43,916 INFO L290 TraceCheckUtils]: 1: Hoare triple {1609#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1609#true} is VALID [2022-02-20 16:55:43,916 INFO L290 TraceCheckUtils]: 2: Hoare triple {1609#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1609#true} is VALID [2022-02-20 16:55:43,916 INFO L290 TraceCheckUtils]: 3: Hoare triple {1609#true} assume true; {1609#true} is VALID [2022-02-20 16:55:43,917 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1609#true} {1611#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} #137#return; {1611#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} is VALID [2022-02-20 16:55:43,918 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-02-20 16:55:43,921 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:43,925 INFO L290 TraceCheckUtils]: 0: Hoare triple {1629#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1609#true} is VALID [2022-02-20 16:55:43,925 INFO L290 TraceCheckUtils]: 1: Hoare triple {1609#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1609#true} is VALID [2022-02-20 16:55:43,925 INFO L290 TraceCheckUtils]: 2: Hoare triple {1609#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1609#true} is VALID [2022-02-20 16:55:43,925 INFO L290 TraceCheckUtils]: 3: Hoare triple {1609#true} assume true; {1609#true} is VALID [2022-02-20 16:55:43,926 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1609#true} {1611#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} #139#return; {1611#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} is VALID [2022-02-20 16:55:43,926 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-02-20 16:55:43,930 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:43,935 INFO L290 TraceCheckUtils]: 0: Hoare triple {1629#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1609#true} is VALID [2022-02-20 16:55:43,935 INFO L290 TraceCheckUtils]: 1: Hoare triple {1609#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1609#true} is VALID [2022-02-20 16:55:43,936 INFO L290 TraceCheckUtils]: 2: Hoare triple {1609#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1609#true} is VALID [2022-02-20 16:55:43,936 INFO L290 TraceCheckUtils]: 3: Hoare triple {1609#true} assume true; {1609#true} is VALID [2022-02-20 16:55:43,936 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1609#true} {1623#(<= 1 |ULTIMATE.start_sll_circular_insert_~index#1|)} #141#return; {1623#(<= 1 |ULTIMATE.start_sll_circular_insert_~index#1|)} is VALID [2022-02-20 16:55:43,937 INFO L290 TraceCheckUtils]: 0: Hoare triple {1609#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(23, 2); {1609#true} is VALID [2022-02-20 16:55:43,937 INFO L290 TraceCheckUtils]: 1: Hoare triple {1609#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret16#1.base, main_#t~ret16#1.offset, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~post24#1, main_#t~mem26#1, main_#t~mem27#1.base, main_#t~mem27#1.offset, main_#t~post28#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_#t~mem29#1.base, main_#t~mem29#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {1611#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} is VALID [2022-02-20 16:55:43,938 INFO L272 TraceCheckUtils]: 2: Hoare triple {1611#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {1629#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:55:43,938 INFO L290 TraceCheckUtils]: 3: Hoare triple {1629#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1609#true} is VALID [2022-02-20 16:55:43,938 INFO L290 TraceCheckUtils]: 4: Hoare triple {1609#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1609#true} is VALID [2022-02-20 16:55:43,939 INFO L290 TraceCheckUtils]: 5: Hoare triple {1609#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1609#true} is VALID [2022-02-20 16:55:43,939 INFO L290 TraceCheckUtils]: 6: Hoare triple {1609#true} assume true; {1609#true} is VALID [2022-02-20 16:55:43,939 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1609#true} {1611#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} #137#return; {1611#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} is VALID [2022-02-20 16:55:43,940 INFO L290 TraceCheckUtils]: 8: Hoare triple {1611#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {1611#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} is VALID [2022-02-20 16:55:43,940 INFO L290 TraceCheckUtils]: 9: Hoare triple {1611#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} assume !!(sll_circular_create_~len#1 > 1); {1611#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} is VALID [2022-02-20 16:55:43,941 INFO L272 TraceCheckUtils]: 10: Hoare triple {1611#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {1629#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:55:43,941 INFO L290 TraceCheckUtils]: 11: Hoare triple {1629#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1609#true} is VALID [2022-02-20 16:55:43,941 INFO L290 TraceCheckUtils]: 12: Hoare triple {1609#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1609#true} is VALID [2022-02-20 16:55:43,942 INFO L290 TraceCheckUtils]: 13: Hoare triple {1609#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1609#true} is VALID [2022-02-20 16:55:43,942 INFO L290 TraceCheckUtils]: 14: Hoare triple {1609#true} assume true; {1609#true} is VALID [2022-02-20 16:55:43,942 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1609#true} {1611#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} #139#return; {1611#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} is VALID [2022-02-20 16:55:43,943 INFO L290 TraceCheckUtils]: 16: Hoare triple {1611#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4);sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := sll_circular_create_#t~post6#1 - 1;havoc sll_circular_create_#t~post6#1; {1622#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:43,943 INFO L290 TraceCheckUtils]: 17: Hoare triple {1622#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !(sll_circular_create_~len#1 > 1); {1622#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:43,944 INFO L290 TraceCheckUtils]: 18: Hoare triple {1622#(<= 2 |ULTIMATE.start_main_~len~0#1|)} call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4);sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {1622#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:43,944 INFO L290 TraceCheckUtils]: 19: Hoare triple {1622#(<= 2 |ULTIMATE.start_main_~len~0#1|)} main_#t~ret16#1.base, main_#t~ret16#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret16#1.base, main_#t~ret16#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret16#1.base, main_#t~ret16#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_sll_circular_insert } true;sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset, sll_circular_insert_#in~data#1, sll_circular_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset, sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset, sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset, sll_circular_insert_#t~post12#1, sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset, sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset, sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset, sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, sll_circular_insert_~data#1, sll_circular_insert_~index#1, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset, sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset := sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset;sll_circular_insert_~data#1 := sll_circular_insert_#in~data#1;sll_circular_insert_~index#1 := sll_circular_insert_#in~index#1; {1623#(<= 1 |ULTIMATE.start_sll_circular_insert_~index#1|)} is VALID [2022-02-20 16:55:43,945 INFO L272 TraceCheckUtils]: 20: Hoare triple {1623#(<= 1 |ULTIMATE.start_sll_circular_insert_~index#1|)} call sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset := node_create(sll_circular_insert_~data#1); {1629#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:55:43,945 INFO L290 TraceCheckUtils]: 21: Hoare triple {1629#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1609#true} is VALID [2022-02-20 16:55:43,945 INFO L290 TraceCheckUtils]: 22: Hoare triple {1609#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1609#true} is VALID [2022-02-20 16:55:43,946 INFO L290 TraceCheckUtils]: 23: Hoare triple {1609#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1609#true} is VALID [2022-02-20 16:55:43,946 INFO L290 TraceCheckUtils]: 24: Hoare triple {1609#true} assume true; {1609#true} is VALID [2022-02-20 16:55:43,946 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {1609#true} {1623#(<= 1 |ULTIMATE.start_sll_circular_insert_~index#1|)} #141#return; {1623#(<= 1 |ULTIMATE.start_sll_circular_insert_~index#1|)} is VALID [2022-02-20 16:55:43,947 INFO L290 TraceCheckUtils]: 26: Hoare triple {1623#(<= 1 |ULTIMATE.start_sll_circular_insert_~index#1|)} sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset := sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := 0, 0;call sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset;havoc sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset; {1623#(<= 1 |ULTIMATE.start_sll_circular_insert_~index#1|)} is VALID [2022-02-20 16:55:43,947 INFO L290 TraceCheckUtils]: 27: Hoare triple {1623#(<= 1 |ULTIMATE.start_sll_circular_insert_~index#1|)} assume !(sll_circular_insert_~index#1 > 0); {1610#false} is VALID [2022-02-20 16:55:43,948 INFO L290 TraceCheckUtils]: 28: Hoare triple {1610#false} assume !(sll_circular_insert_~snd_to_last~0#1.base != 0 || sll_circular_insert_~snd_to_last~0#1.offset != 0);call sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4); {1610#false} is VALID [2022-02-20 16:55:43,948 INFO L290 TraceCheckUtils]: 29: Hoare triple {1610#false} assume sll_circular_insert_#t~mem13#1.base != 0 || sll_circular_insert_#t~mem13#1.offset != 0;havoc sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset;call sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4);call write~$Pointer$(sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, 4);havoc sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset;call sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4);call write~$Pointer$(sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset, 4);havoc sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset; {1610#false} is VALID [2022-02-20 16:55:43,949 INFO L290 TraceCheckUtils]: 30: Hoare triple {1610#false} call write~$Pointer$(sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4); {1610#false} is VALID [2022-02-20 16:55:43,949 INFO L290 TraceCheckUtils]: 31: Hoare triple {1610#false} assume { :end_inline_sll_circular_insert } true;call main_#t~mem17#1.base, main_#t~mem17#1.offset := read~$Pointer$(main_~#s~0#1.base, main_~#s~0#1.offset, 4);main_~ptr~0#1.base, main_~ptr~0#1.offset := main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;main_~count~0#1 := 0; {1610#false} is VALID [2022-02-20 16:55:43,949 INFO L290 TraceCheckUtils]: 32: Hoare triple {1610#false} call main_#t~mem19#1 := read~int(main_~ptr~0#1.base, 4 + main_~ptr~0#1.offset, 4); {1610#false} is VALID [2022-02-20 16:55:43,949 INFO L290 TraceCheckUtils]: 33: Hoare triple {1610#false} assume main_~data~0#1 != main_#t~mem19#1;havoc main_#t~mem19#1; {1610#false} is VALID [2022-02-20 16:55:43,949 INFO L290 TraceCheckUtils]: 34: Hoare triple {1610#false} assume !false; {1610#false} is VALID [2022-02-20 16:55:43,950 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-02-20 16:55:43,950 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:55:43,951 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [216898499] [2022-02-20 16:55:43,951 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [216898499] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:55:43,951 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [136478892] [2022-02-20 16:55:43,952 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:43,952 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:55:43,952 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:55:43,953 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 16:55:43,971 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-02-20 16:55:44,080 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:44,082 INFO L263 TraceCheckSpWp]: Trace formula consists of 387 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 16:55:44,096 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:44,097 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:55:44,358 INFO L290 TraceCheckUtils]: 0: Hoare triple {1609#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(23, 2); {1609#true} is VALID [2022-02-20 16:55:44,359 INFO L290 TraceCheckUtils]: 1: Hoare triple {1609#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret16#1.base, main_#t~ret16#1.offset, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~post24#1, main_#t~mem26#1, main_#t~mem27#1.base, main_#t~mem27#1.offset, main_#t~post28#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_#t~mem29#1.base, main_#t~mem29#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {1622#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:44,359 INFO L272 TraceCheckUtils]: 2: Hoare triple {1622#(<= 2 |ULTIMATE.start_main_~len~0#1|)} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {1609#true} is VALID [2022-02-20 16:55:44,359 INFO L290 TraceCheckUtils]: 3: Hoare triple {1609#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1609#true} is VALID [2022-02-20 16:55:44,359 INFO L290 TraceCheckUtils]: 4: Hoare triple {1609#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1609#true} is VALID [2022-02-20 16:55:44,359 INFO L290 TraceCheckUtils]: 5: Hoare triple {1609#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1609#true} is VALID [2022-02-20 16:55:44,359 INFO L290 TraceCheckUtils]: 6: Hoare triple {1609#true} assume true; {1609#true} is VALID [2022-02-20 16:55:44,360 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1609#true} {1622#(<= 2 |ULTIMATE.start_main_~len~0#1|)} #137#return; {1622#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:44,360 INFO L290 TraceCheckUtils]: 8: Hoare triple {1622#(<= 2 |ULTIMATE.start_main_~len~0#1|)} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {1622#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:44,360 INFO L290 TraceCheckUtils]: 9: Hoare triple {1622#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !!(sll_circular_create_~len#1 > 1); {1622#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:44,361 INFO L272 TraceCheckUtils]: 10: Hoare triple {1622#(<= 2 |ULTIMATE.start_main_~len~0#1|)} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {1609#true} is VALID [2022-02-20 16:55:44,361 INFO L290 TraceCheckUtils]: 11: Hoare triple {1609#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1609#true} is VALID [2022-02-20 16:55:44,361 INFO L290 TraceCheckUtils]: 12: Hoare triple {1609#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1609#true} is VALID [2022-02-20 16:55:44,361 INFO L290 TraceCheckUtils]: 13: Hoare triple {1609#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1609#true} is VALID [2022-02-20 16:55:44,361 INFO L290 TraceCheckUtils]: 14: Hoare triple {1609#true} assume true; {1609#true} is VALID [2022-02-20 16:55:44,365 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1609#true} {1622#(<= 2 |ULTIMATE.start_main_~len~0#1|)} #139#return; {1622#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:44,365 INFO L290 TraceCheckUtils]: 16: Hoare triple {1622#(<= 2 |ULTIMATE.start_main_~len~0#1|)} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4);sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := sll_circular_create_#t~post6#1 - 1;havoc sll_circular_create_#t~post6#1; {1622#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:44,366 INFO L290 TraceCheckUtils]: 17: Hoare triple {1622#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !(sll_circular_create_~len#1 > 1); {1622#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:44,366 INFO L290 TraceCheckUtils]: 18: Hoare triple {1622#(<= 2 |ULTIMATE.start_main_~len~0#1|)} call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4);sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {1622#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:44,367 INFO L290 TraceCheckUtils]: 19: Hoare triple {1622#(<= 2 |ULTIMATE.start_main_~len~0#1|)} main_#t~ret16#1.base, main_#t~ret16#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret16#1.base, main_#t~ret16#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret16#1.base, main_#t~ret16#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_sll_circular_insert } true;sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset, sll_circular_insert_#in~data#1, sll_circular_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset, sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset, sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset, sll_circular_insert_#t~post12#1, sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset, sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset, sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset, sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, sll_circular_insert_~data#1, sll_circular_insert_~index#1, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset, sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset := sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset;sll_circular_insert_~data#1 := sll_circular_insert_#in~data#1;sll_circular_insert_~index#1 := sll_circular_insert_#in~index#1; {1623#(<= 1 |ULTIMATE.start_sll_circular_insert_~index#1|)} is VALID [2022-02-20 16:55:44,367 INFO L272 TraceCheckUtils]: 20: Hoare triple {1623#(<= 1 |ULTIMATE.start_sll_circular_insert_~index#1|)} call sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset := node_create(sll_circular_insert_~data#1); {1609#true} is VALID [2022-02-20 16:55:44,367 INFO L290 TraceCheckUtils]: 21: Hoare triple {1609#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1609#true} is VALID [2022-02-20 16:55:44,367 INFO L290 TraceCheckUtils]: 22: Hoare triple {1609#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1609#true} is VALID [2022-02-20 16:55:44,367 INFO L290 TraceCheckUtils]: 23: Hoare triple {1609#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1609#true} is VALID [2022-02-20 16:55:44,367 INFO L290 TraceCheckUtils]: 24: Hoare triple {1609#true} assume true; {1609#true} is VALID [2022-02-20 16:55:44,372 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {1609#true} {1623#(<= 1 |ULTIMATE.start_sll_circular_insert_~index#1|)} #141#return; {1623#(<= 1 |ULTIMATE.start_sll_circular_insert_~index#1|)} is VALID [2022-02-20 16:55:44,372 INFO L290 TraceCheckUtils]: 26: Hoare triple {1623#(<= 1 |ULTIMATE.start_sll_circular_insert_~index#1|)} sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset := sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := 0, 0;call sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset;havoc sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset; {1623#(<= 1 |ULTIMATE.start_sll_circular_insert_~index#1|)} is VALID [2022-02-20 16:55:44,373 INFO L290 TraceCheckUtils]: 27: Hoare triple {1623#(<= 1 |ULTIMATE.start_sll_circular_insert_~index#1|)} assume !(sll_circular_insert_~index#1 > 0); {1610#false} is VALID [2022-02-20 16:55:44,373 INFO L290 TraceCheckUtils]: 28: Hoare triple {1610#false} assume !(sll_circular_insert_~snd_to_last~0#1.base != 0 || sll_circular_insert_~snd_to_last~0#1.offset != 0);call sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4); {1610#false} is VALID [2022-02-20 16:55:44,373 INFO L290 TraceCheckUtils]: 29: Hoare triple {1610#false} assume sll_circular_insert_#t~mem13#1.base != 0 || sll_circular_insert_#t~mem13#1.offset != 0;havoc sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset;call sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4);call write~$Pointer$(sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, 4);havoc sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset;call sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4);call write~$Pointer$(sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset, 4);havoc sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset; {1610#false} is VALID [2022-02-20 16:55:44,373 INFO L290 TraceCheckUtils]: 30: Hoare triple {1610#false} call write~$Pointer$(sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4); {1610#false} is VALID [2022-02-20 16:55:44,373 INFO L290 TraceCheckUtils]: 31: Hoare triple {1610#false} assume { :end_inline_sll_circular_insert } true;call main_#t~mem17#1.base, main_#t~mem17#1.offset := read~$Pointer$(main_~#s~0#1.base, main_~#s~0#1.offset, 4);main_~ptr~0#1.base, main_~ptr~0#1.offset := main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;main_~count~0#1 := 0; {1610#false} is VALID [2022-02-20 16:55:44,373 INFO L290 TraceCheckUtils]: 32: Hoare triple {1610#false} call main_#t~mem19#1 := read~int(main_~ptr~0#1.base, 4 + main_~ptr~0#1.offset, 4); {1610#false} is VALID [2022-02-20 16:55:44,374 INFO L290 TraceCheckUtils]: 33: Hoare triple {1610#false} assume main_~data~0#1 != main_#t~mem19#1;havoc main_#t~mem19#1; {1610#false} is VALID [2022-02-20 16:55:44,374 INFO L290 TraceCheckUtils]: 34: Hoare triple {1610#false} assume !false; {1610#false} is VALID [2022-02-20 16:55:44,374 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-02-20 16:55:44,374 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:55:44,375 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [136478892] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:55:44,375 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 16:55:44,375 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [6] total 6 [2022-02-20 16:55:44,375 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1531296949] [2022-02-20 16:55:44,375 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:55:44,377 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 5.25) internal successors, (21), 4 states have internal predecessors, (21), 2 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 35 [2022-02-20 16:55:44,377 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:55:44,377 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 5.25) internal successors, (21), 4 states have internal predecessors, (21), 2 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:55:44,398 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:44,398 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 16:55:44,398 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:55:44,398 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 16:55:44,398 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2022-02-20 16:55:44,399 INFO L87 Difference]: Start difference. First operand 50 states and 65 transitions. Second operand has 4 states, 4 states have (on average 5.25) internal successors, (21), 4 states have internal predecessors, (21), 2 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:55:44,488 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:44,522 INFO L93 Difference]: Finished difference Result 66 states and 86 transitions. [2022-02-20 16:55:44,522 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 16:55:44,522 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 5.25) internal successors, (21), 4 states have internal predecessors, (21), 2 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 35 [2022-02-20 16:55:44,522 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:55:44,522 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.25) internal successors, (21), 4 states have internal predecessors, (21), 2 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:55:44,524 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 67 transitions. [2022-02-20 16:55:44,524 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.25) internal successors, (21), 4 states have internal predecessors, (21), 2 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:55:44,525 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 67 transitions. [2022-02-20 16:55:44,525 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 67 transitions. [2022-02-20 16:55:44,584 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:44,585 INFO L225 Difference]: With dead ends: 66 [2022-02-20 16:55:44,585 INFO L226 Difference]: Without dead ends: 49 [2022-02-20 16:55:44,585 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 40 SyntacticMatches, 1 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=14, Invalid=28, Unknown=0, NotChecked=0, Total=42 [2022-02-20 16:55:44,586 INFO L933 BasicCegarLoop]: 41 mSDtfsCounter, 26 mSDsluCounter, 46 mSDsCounter, 0 mSdLazyCounter, 6 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 87 SdHoareTripleChecker+Invalid, 8 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 6 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:55:44,586 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [26 Valid, 87 Invalid, 8 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 6 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:55:44,586 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2022-02-20 16:55:44,612 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 49. [2022-02-20 16:55:44,612 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:55:44,613 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand has 49 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 42 states have internal predecessors, (52), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 16:55:44,613 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand has 49 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 42 states have internal predecessors, (52), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 16:55:44,613 INFO L87 Difference]: Start difference. First operand 49 states. Second operand has 49 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 42 states have internal predecessors, (52), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 16:55:44,615 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:44,615 INFO L93 Difference]: Finished difference Result 49 states and 62 transitions. [2022-02-20 16:55:44,615 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 62 transitions. [2022-02-20 16:55:44,615 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:44,615 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:44,615 INFO L74 IsIncluded]: Start isIncluded. First operand has 49 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 42 states have internal predecessors, (52), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 49 states. [2022-02-20 16:55:44,616 INFO L87 Difference]: Start difference. First operand has 49 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 42 states have internal predecessors, (52), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 49 states. [2022-02-20 16:55:44,617 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:44,617 INFO L93 Difference]: Finished difference Result 49 states and 62 transitions. [2022-02-20 16:55:44,617 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 62 transitions. [2022-02-20 16:55:44,618 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:44,618 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:44,618 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:55:44,618 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:55:44,618 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 42 states have internal predecessors, (52), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 16:55:44,619 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 62 transitions. [2022-02-20 16:55:44,620 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 62 transitions. Word has length 35 [2022-02-20 16:55:44,620 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:55:44,620 INFO L470 AbstractCegarLoop]: Abstraction has 49 states and 62 transitions. [2022-02-20 16:55:44,620 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 5.25) internal successors, (21), 4 states have internal predecessors, (21), 2 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:55:44,620 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 62 transitions. [2022-02-20 16:55:44,621 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-02-20 16:55:44,621 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:55:44,621 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:55:44,640 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-02-20 16:55:44,842 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:55:44,842 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:55:44,842 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:55:44,842 INFO L85 PathProgramCache]: Analyzing trace with hash 1637752339, now seen corresponding path program 1 times [2022-02-20 16:55:44,842 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:55:44,843 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [789926278] [2022-02-20 16:55:44,843 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:44,843 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:55:44,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:44,904 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:55:44,906 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:44,909 INFO L290 TraceCheckUtils]: 0: Hoare triple {2010#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1990#true} is VALID [2022-02-20 16:55:44,909 INFO L290 TraceCheckUtils]: 1: Hoare triple {1990#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1990#true} is VALID [2022-02-20 16:55:44,909 INFO L290 TraceCheckUtils]: 2: Hoare triple {1990#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1990#true} is VALID [2022-02-20 16:55:44,910 INFO L290 TraceCheckUtils]: 3: Hoare triple {1990#true} assume true; {1990#true} is VALID [2022-02-20 16:55:44,910 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1990#true} {1990#true} #137#return; {1990#true} is VALID [2022-02-20 16:55:44,910 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-02-20 16:55:44,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:44,915 INFO L290 TraceCheckUtils]: 0: Hoare triple {2010#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1990#true} is VALID [2022-02-20 16:55:44,915 INFO L290 TraceCheckUtils]: 1: Hoare triple {1990#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1990#true} is VALID [2022-02-20 16:55:44,915 INFO L290 TraceCheckUtils]: 2: Hoare triple {1990#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1990#true} is VALID [2022-02-20 16:55:44,916 INFO L290 TraceCheckUtils]: 3: Hoare triple {1990#true} assume true; {1990#true} is VALID [2022-02-20 16:55:44,916 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1990#true} {1990#true} #139#return; {1990#true} is VALID [2022-02-20 16:55:44,916 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-02-20 16:55:44,918 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:44,921 INFO L290 TraceCheckUtils]: 0: Hoare triple {2010#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1990#true} is VALID [2022-02-20 16:55:44,921 INFO L290 TraceCheckUtils]: 1: Hoare triple {1990#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1990#true} is VALID [2022-02-20 16:55:44,921 INFO L290 TraceCheckUtils]: 2: Hoare triple {1990#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1990#true} is VALID [2022-02-20 16:55:44,922 INFO L290 TraceCheckUtils]: 3: Hoare triple {1990#true} assume true; {1990#true} is VALID [2022-02-20 16:55:44,922 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1990#true} {1990#true} #141#return; {1990#true} is VALID [2022-02-20 16:55:44,922 INFO L290 TraceCheckUtils]: 0: Hoare triple {1990#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(23, 2); {1990#true} is VALID [2022-02-20 16:55:44,922 INFO L290 TraceCheckUtils]: 1: Hoare triple {1990#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret16#1.base, main_#t~ret16#1.offset, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~post24#1, main_#t~mem26#1, main_#t~mem27#1.base, main_#t~mem27#1.offset, main_#t~post28#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_#t~mem29#1.base, main_#t~mem29#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {1990#true} is VALID [2022-02-20 16:55:44,923 INFO L272 TraceCheckUtils]: 2: Hoare triple {1990#true} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {2010#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:55:44,923 INFO L290 TraceCheckUtils]: 3: Hoare triple {2010#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1990#true} is VALID [2022-02-20 16:55:44,923 INFO L290 TraceCheckUtils]: 4: Hoare triple {1990#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1990#true} is VALID [2022-02-20 16:55:44,923 INFO L290 TraceCheckUtils]: 5: Hoare triple {1990#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1990#true} is VALID [2022-02-20 16:55:44,923 INFO L290 TraceCheckUtils]: 6: Hoare triple {1990#true} assume true; {1990#true} is VALID [2022-02-20 16:55:44,923 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1990#true} {1990#true} #137#return; {1990#true} is VALID [2022-02-20 16:55:44,923 INFO L290 TraceCheckUtils]: 8: Hoare triple {1990#true} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {1990#true} is VALID [2022-02-20 16:55:44,924 INFO L290 TraceCheckUtils]: 9: Hoare triple {1990#true} assume !!(sll_circular_create_~len#1 > 1); {1990#true} is VALID [2022-02-20 16:55:44,924 INFO L272 TraceCheckUtils]: 10: Hoare triple {1990#true} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {2010#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:55:44,924 INFO L290 TraceCheckUtils]: 11: Hoare triple {2010#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1990#true} is VALID [2022-02-20 16:55:44,925 INFO L290 TraceCheckUtils]: 12: Hoare triple {1990#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1990#true} is VALID [2022-02-20 16:55:44,925 INFO L290 TraceCheckUtils]: 13: Hoare triple {1990#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1990#true} is VALID [2022-02-20 16:55:44,925 INFO L290 TraceCheckUtils]: 14: Hoare triple {1990#true} assume true; {1990#true} is VALID [2022-02-20 16:55:44,925 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1990#true} {1990#true} #139#return; {1990#true} is VALID [2022-02-20 16:55:44,925 INFO L290 TraceCheckUtils]: 16: Hoare triple {1990#true} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4);sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := sll_circular_create_#t~post6#1 - 1;havoc sll_circular_create_#t~post6#1; {1990#true} is VALID [2022-02-20 16:55:44,925 INFO L290 TraceCheckUtils]: 17: Hoare triple {1990#true} assume !(sll_circular_create_~len#1 > 1); {1990#true} is VALID [2022-02-20 16:55:44,925 INFO L290 TraceCheckUtils]: 18: Hoare triple {1990#true} call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4);sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {1990#true} is VALID [2022-02-20 16:55:44,925 INFO L290 TraceCheckUtils]: 19: Hoare triple {1990#true} main_#t~ret16#1.base, main_#t~ret16#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret16#1.base, main_#t~ret16#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret16#1.base, main_#t~ret16#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_sll_circular_insert } true;sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset, sll_circular_insert_#in~data#1, sll_circular_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset, sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset, sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset, sll_circular_insert_#t~post12#1, sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset, sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset, sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset, sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, sll_circular_insert_~data#1, sll_circular_insert_~index#1, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset, sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset := sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset;sll_circular_insert_~data#1 := sll_circular_insert_#in~data#1;sll_circular_insert_~index#1 := sll_circular_insert_#in~index#1; {1990#true} is VALID [2022-02-20 16:55:44,926 INFO L272 TraceCheckUtils]: 20: Hoare triple {1990#true} call sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset := node_create(sll_circular_insert_~data#1); {2010#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:55:44,926 INFO L290 TraceCheckUtils]: 21: Hoare triple {2010#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1990#true} is VALID [2022-02-20 16:55:44,926 INFO L290 TraceCheckUtils]: 22: Hoare triple {1990#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1990#true} is VALID [2022-02-20 16:55:44,926 INFO L290 TraceCheckUtils]: 23: Hoare triple {1990#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1990#true} is VALID [2022-02-20 16:55:44,927 INFO L290 TraceCheckUtils]: 24: Hoare triple {1990#true} assume true; {1990#true} is VALID [2022-02-20 16:55:44,927 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {1990#true} {1990#true} #141#return; {1990#true} is VALID [2022-02-20 16:55:44,927 INFO L290 TraceCheckUtils]: 26: Hoare triple {1990#true} sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset := sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := 0, 0;call sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset;havoc sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset; {2007#(and (= |ULTIMATE.start_sll_circular_insert_~last~1#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|)) (= |ULTIMATE.start_sll_circular_insert_~last~1#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|)))} is VALID [2022-02-20 16:55:44,928 INFO L290 TraceCheckUtils]: 27: Hoare triple {2007#(and (= |ULTIMATE.start_sll_circular_insert_~last~1#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|)) (= |ULTIMATE.start_sll_circular_insert_~last~1#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|)))} assume !!(sll_circular_insert_~index#1 > 0);sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;call sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset := read~$Pointer$(sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset;havoc sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset;sll_circular_insert_#t~post12#1 := sll_circular_insert_~index#1;sll_circular_insert_~index#1 := sll_circular_insert_#t~post12#1 - 1;havoc sll_circular_insert_#t~post12#1; {2008#(and (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|)) (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|)))} is VALID [2022-02-20 16:55:44,928 INFO L290 TraceCheckUtils]: 28: Hoare triple {2008#(and (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|)) (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|)))} assume !(sll_circular_insert_~index#1 > 0); {2008#(and (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|)) (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|)))} is VALID [2022-02-20 16:55:44,929 INFO L290 TraceCheckUtils]: 29: Hoare triple {2008#(and (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|)) (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|)))} assume !(sll_circular_insert_~snd_to_last~0#1.base != 0 || sll_circular_insert_~snd_to_last~0#1.offset != 0);call sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4); {2009#(and (= 0 |ULTIMATE.start_sll_circular_insert_#t~mem13#1.base|) (= 0 |ULTIMATE.start_sll_circular_insert_#t~mem13#1.offset|))} is VALID [2022-02-20 16:55:44,929 INFO L290 TraceCheckUtils]: 30: Hoare triple {2009#(and (= 0 |ULTIMATE.start_sll_circular_insert_#t~mem13#1.base|) (= 0 |ULTIMATE.start_sll_circular_insert_#t~mem13#1.offset|))} assume sll_circular_insert_#t~mem13#1.base != 0 || sll_circular_insert_#t~mem13#1.offset != 0;havoc sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset;call sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4);call write~$Pointer$(sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, 4);havoc sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset;call sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4);call write~$Pointer$(sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset, 4);havoc sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset; {1991#false} is VALID [2022-02-20 16:55:44,929 INFO L290 TraceCheckUtils]: 31: Hoare triple {1991#false} call write~$Pointer$(sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4); {1991#false} is VALID [2022-02-20 16:55:44,929 INFO L290 TraceCheckUtils]: 32: Hoare triple {1991#false} assume { :end_inline_sll_circular_insert } true;call main_#t~mem17#1.base, main_#t~mem17#1.offset := read~$Pointer$(main_~#s~0#1.base, main_~#s~0#1.offset, 4);main_~ptr~0#1.base, main_~ptr~0#1.offset := main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;main_~count~0#1 := 0; {1991#false} is VALID [2022-02-20 16:55:44,930 INFO L290 TraceCheckUtils]: 33: Hoare triple {1991#false} call main_#t~mem19#1 := read~int(main_~ptr~0#1.base, 4 + main_~ptr~0#1.offset, 4); {1991#false} is VALID [2022-02-20 16:55:44,930 INFO L290 TraceCheckUtils]: 34: Hoare triple {1991#false} assume main_~data~0#1 != main_#t~mem19#1;havoc main_#t~mem19#1; {1991#false} is VALID [2022-02-20 16:55:44,930 INFO L290 TraceCheckUtils]: 35: Hoare triple {1991#false} assume !false; {1991#false} is VALID [2022-02-20 16:55:44,930 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-02-20 16:55:44,930 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:55:44,930 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [789926278] [2022-02-20 16:55:44,931 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [789926278] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:55:44,931 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [144020324] [2022-02-20 16:55:44,931 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:44,931 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:55:44,931 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:55:44,936 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 16:55:44,937 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-02-20 16:55:45,057 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:45,059 INFO L263 TraceCheckSpWp]: Trace formula consists of 398 conjuncts, 17 conjunts are in the unsatisfiable core [2022-02-20 16:55:45,078 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:45,080 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:55:45,199 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 7 [2022-02-20 16:55:45,211 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 7 [2022-02-20 16:55:45,223 INFO L290 TraceCheckUtils]: 0: Hoare triple {1990#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(23, 2); {1990#true} is VALID [2022-02-20 16:55:45,223 INFO L290 TraceCheckUtils]: 1: Hoare triple {1990#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret16#1.base, main_#t~ret16#1.offset, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~post24#1, main_#t~mem26#1, main_#t~mem27#1.base, main_#t~mem27#1.offset, main_#t~post28#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_#t~mem29#1.base, main_#t~mem29#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {1990#true} is VALID [2022-02-20 16:55:45,223 INFO L272 TraceCheckUtils]: 2: Hoare triple {1990#true} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {1990#true} is VALID [2022-02-20 16:55:45,223 INFO L290 TraceCheckUtils]: 3: Hoare triple {1990#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1990#true} is VALID [2022-02-20 16:55:45,223 INFO L290 TraceCheckUtils]: 4: Hoare triple {1990#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1990#true} is VALID [2022-02-20 16:55:45,223 INFO L290 TraceCheckUtils]: 5: Hoare triple {1990#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1990#true} is VALID [2022-02-20 16:55:45,223 INFO L290 TraceCheckUtils]: 6: Hoare triple {1990#true} assume true; {1990#true} is VALID [2022-02-20 16:55:45,223 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1990#true} {1990#true} #137#return; {1990#true} is VALID [2022-02-20 16:55:45,223 INFO L290 TraceCheckUtils]: 8: Hoare triple {1990#true} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {1990#true} is VALID [2022-02-20 16:55:45,223 INFO L290 TraceCheckUtils]: 9: Hoare triple {1990#true} assume !!(sll_circular_create_~len#1 > 1); {1990#true} is VALID [2022-02-20 16:55:45,223 INFO L272 TraceCheckUtils]: 10: Hoare triple {1990#true} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {1990#true} is VALID [2022-02-20 16:55:45,223 INFO L290 TraceCheckUtils]: 11: Hoare triple {1990#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1990#true} is VALID [2022-02-20 16:55:45,224 INFO L290 TraceCheckUtils]: 12: Hoare triple {1990#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1990#true} is VALID [2022-02-20 16:55:45,224 INFO L290 TraceCheckUtils]: 13: Hoare triple {1990#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1990#true} is VALID [2022-02-20 16:55:45,224 INFO L290 TraceCheckUtils]: 14: Hoare triple {1990#true} assume true; {1990#true} is VALID [2022-02-20 16:55:45,224 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1990#true} {1990#true} #139#return; {1990#true} is VALID [2022-02-20 16:55:45,224 INFO L290 TraceCheckUtils]: 16: Hoare triple {1990#true} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4);sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := sll_circular_create_#t~post6#1 - 1;havoc sll_circular_create_#t~post6#1; {1990#true} is VALID [2022-02-20 16:55:45,224 INFO L290 TraceCheckUtils]: 17: Hoare triple {1990#true} assume !(sll_circular_create_~len#1 > 1); {1990#true} is VALID [2022-02-20 16:55:45,224 INFO L290 TraceCheckUtils]: 18: Hoare triple {1990#true} call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4);sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {1990#true} is VALID [2022-02-20 16:55:45,224 INFO L290 TraceCheckUtils]: 19: Hoare triple {1990#true} main_#t~ret16#1.base, main_#t~ret16#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret16#1.base, main_#t~ret16#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret16#1.base, main_#t~ret16#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_sll_circular_insert } true;sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset, sll_circular_insert_#in~data#1, sll_circular_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset, sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset, sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset, sll_circular_insert_#t~post12#1, sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset, sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset, sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset, sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, sll_circular_insert_~data#1, sll_circular_insert_~index#1, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset, sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset := sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset;sll_circular_insert_~data#1 := sll_circular_insert_#in~data#1;sll_circular_insert_~index#1 := sll_circular_insert_#in~index#1; {1990#true} is VALID [2022-02-20 16:55:45,225 INFO L272 TraceCheckUtils]: 20: Hoare triple {1990#true} call sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset := node_create(sll_circular_insert_~data#1); {1990#true} is VALID [2022-02-20 16:55:45,225 INFO L290 TraceCheckUtils]: 21: Hoare triple {1990#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1990#true} is VALID [2022-02-20 16:55:45,225 INFO L290 TraceCheckUtils]: 22: Hoare triple {1990#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1990#true} is VALID [2022-02-20 16:55:45,225 INFO L290 TraceCheckUtils]: 23: Hoare triple {1990#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1990#true} is VALID [2022-02-20 16:55:45,225 INFO L290 TraceCheckUtils]: 24: Hoare triple {1990#true} assume true; {1990#true} is VALID [2022-02-20 16:55:45,225 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {1990#true} {1990#true} #141#return; {1990#true} is VALID [2022-02-20 16:55:45,232 INFO L290 TraceCheckUtils]: 26: Hoare triple {1990#true} sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset := sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := 0, 0;call sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset;havoc sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset; {2007#(and (= |ULTIMATE.start_sll_circular_insert_~last~1#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|)) (= |ULTIMATE.start_sll_circular_insert_~last~1#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|)))} is VALID [2022-02-20 16:55:45,233 INFO L290 TraceCheckUtils]: 27: Hoare triple {2007#(and (= |ULTIMATE.start_sll_circular_insert_~last~1#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|)) (= |ULTIMATE.start_sll_circular_insert_~last~1#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|)))} assume !!(sll_circular_insert_~index#1 > 0);sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;call sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset := read~$Pointer$(sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset;havoc sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset;sll_circular_insert_#t~post12#1 := sll_circular_insert_~index#1;sll_circular_insert_~index#1 := sll_circular_insert_#t~post12#1 - 1;havoc sll_circular_insert_#t~post12#1; {2008#(and (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|)) (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|)))} is VALID [2022-02-20 16:55:45,233 INFO L290 TraceCheckUtils]: 28: Hoare triple {2008#(and (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|)) (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|)))} assume !(sll_circular_insert_~index#1 > 0); {2008#(and (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|)) (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|)))} is VALID [2022-02-20 16:55:45,234 INFO L290 TraceCheckUtils]: 29: Hoare triple {2008#(and (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|)) (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|)))} assume !(sll_circular_insert_~snd_to_last~0#1.base != 0 || sll_circular_insert_~snd_to_last~0#1.offset != 0);call sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4); {2009#(and (= 0 |ULTIMATE.start_sll_circular_insert_#t~mem13#1.base|) (= 0 |ULTIMATE.start_sll_circular_insert_#t~mem13#1.offset|))} is VALID [2022-02-20 16:55:45,234 INFO L290 TraceCheckUtils]: 30: Hoare triple {2009#(and (= 0 |ULTIMATE.start_sll_circular_insert_#t~mem13#1.base|) (= 0 |ULTIMATE.start_sll_circular_insert_#t~mem13#1.offset|))} assume sll_circular_insert_#t~mem13#1.base != 0 || sll_circular_insert_#t~mem13#1.offset != 0;havoc sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset;call sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4);call write~$Pointer$(sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, 4);havoc sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset;call sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4);call write~$Pointer$(sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset, 4);havoc sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset; {1991#false} is VALID [2022-02-20 16:55:45,234 INFO L290 TraceCheckUtils]: 31: Hoare triple {1991#false} call write~$Pointer$(sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4); {1991#false} is VALID [2022-02-20 16:55:45,235 INFO L290 TraceCheckUtils]: 32: Hoare triple {1991#false} assume { :end_inline_sll_circular_insert } true;call main_#t~mem17#1.base, main_#t~mem17#1.offset := read~$Pointer$(main_~#s~0#1.base, main_~#s~0#1.offset, 4);main_~ptr~0#1.base, main_~ptr~0#1.offset := main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;main_~count~0#1 := 0; {1991#false} is VALID [2022-02-20 16:55:45,235 INFO L290 TraceCheckUtils]: 33: Hoare triple {1991#false} call main_#t~mem19#1 := read~int(main_~ptr~0#1.base, 4 + main_~ptr~0#1.offset, 4); {1991#false} is VALID [2022-02-20 16:55:45,235 INFO L290 TraceCheckUtils]: 34: Hoare triple {1991#false} assume main_~data~0#1 != main_#t~mem19#1;havoc main_#t~mem19#1; {1991#false} is VALID [2022-02-20 16:55:45,235 INFO L290 TraceCheckUtils]: 35: Hoare triple {1991#false} assume !false; {1991#false} is VALID [2022-02-20 16:55:45,235 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-02-20 16:55:45,235 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:55:45,355 INFO L290 TraceCheckUtils]: 35: Hoare triple {1991#false} assume !false; {1991#false} is VALID [2022-02-20 16:55:45,355 INFO L290 TraceCheckUtils]: 34: Hoare triple {1991#false} assume main_~data~0#1 != main_#t~mem19#1;havoc main_#t~mem19#1; {1991#false} is VALID [2022-02-20 16:55:45,355 INFO L290 TraceCheckUtils]: 33: Hoare triple {1991#false} call main_#t~mem19#1 := read~int(main_~ptr~0#1.base, 4 + main_~ptr~0#1.offset, 4); {1991#false} is VALID [2022-02-20 16:55:45,355 INFO L290 TraceCheckUtils]: 32: Hoare triple {1991#false} assume { :end_inline_sll_circular_insert } true;call main_#t~mem17#1.base, main_#t~mem17#1.offset := read~$Pointer$(main_~#s~0#1.base, main_~#s~0#1.offset, 4);main_~ptr~0#1.base, main_~ptr~0#1.offset := main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;main_~count~0#1 := 0; {1991#false} is VALID [2022-02-20 16:55:45,355 INFO L290 TraceCheckUtils]: 31: Hoare triple {1991#false} call write~$Pointer$(sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4); {1991#false} is VALID [2022-02-20 16:55:45,356 INFO L290 TraceCheckUtils]: 30: Hoare triple {2009#(and (= 0 |ULTIMATE.start_sll_circular_insert_#t~mem13#1.base|) (= 0 |ULTIMATE.start_sll_circular_insert_#t~mem13#1.offset|))} assume sll_circular_insert_#t~mem13#1.base != 0 || sll_circular_insert_#t~mem13#1.offset != 0;havoc sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset;call sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4);call write~$Pointer$(sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, 4);havoc sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset;call sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4);call write~$Pointer$(sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset, 4);havoc sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset; {1991#false} is VALID [2022-02-20 16:55:45,356 INFO L290 TraceCheckUtils]: 29: Hoare triple {2137#(or (not (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| 0)) (not (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| 0)) (and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|) 0) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|) 0)))} assume !(sll_circular_insert_~snd_to_last~0#1.base != 0 || sll_circular_insert_~snd_to_last~0#1.offset != 0);call sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4); {2009#(and (= 0 |ULTIMATE.start_sll_circular_insert_#t~mem13#1.base|) (= 0 |ULTIMATE.start_sll_circular_insert_#t~mem13#1.offset|))} is VALID [2022-02-20 16:55:45,357 INFO L290 TraceCheckUtils]: 28: Hoare triple {2137#(or (not (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| 0)) (not (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| 0)) (and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|) 0) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|) 0)))} assume !(sll_circular_insert_~index#1 > 0); {2137#(or (not (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| 0)) (not (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| 0)) (and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|) 0) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|) 0)))} is VALID [2022-02-20 16:55:45,357 INFO L290 TraceCheckUtils]: 27: Hoare triple {2144#(or (not (= |ULTIMATE.start_sll_circular_insert_~last~1#1.base| 0)) (not (= |ULTIMATE.start_sll_circular_insert_~last~1#1.offset| 0)) (and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|) 0) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|) 0)))} assume !!(sll_circular_insert_~index#1 > 0);sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;call sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset := read~$Pointer$(sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset;havoc sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset;sll_circular_insert_#t~post12#1 := sll_circular_insert_~index#1;sll_circular_insert_~index#1 := sll_circular_insert_#t~post12#1 - 1;havoc sll_circular_insert_#t~post12#1; {2137#(or (not (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| 0)) (not (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| 0)) (and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|) 0) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|) 0)))} is VALID [2022-02-20 16:55:45,358 INFO L290 TraceCheckUtils]: 26: Hoare triple {1990#true} sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset := sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := 0, 0;call sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset;havoc sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset; {2144#(or (not (= |ULTIMATE.start_sll_circular_insert_~last~1#1.base| 0)) (not (= |ULTIMATE.start_sll_circular_insert_~last~1#1.offset| 0)) (and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|) 0) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|) 0)))} is VALID [2022-02-20 16:55:45,358 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {1990#true} {1990#true} #141#return; {1990#true} is VALID [2022-02-20 16:55:45,358 INFO L290 TraceCheckUtils]: 24: Hoare triple {1990#true} assume true; {1990#true} is VALID [2022-02-20 16:55:45,358 INFO L290 TraceCheckUtils]: 23: Hoare triple {1990#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1990#true} is VALID [2022-02-20 16:55:45,358 INFO L290 TraceCheckUtils]: 22: Hoare triple {1990#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1990#true} is VALID [2022-02-20 16:55:45,358 INFO L290 TraceCheckUtils]: 21: Hoare triple {1990#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1990#true} is VALID [2022-02-20 16:55:45,358 INFO L272 TraceCheckUtils]: 20: Hoare triple {1990#true} call sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset := node_create(sll_circular_insert_~data#1); {1990#true} is VALID [2022-02-20 16:55:45,358 INFO L290 TraceCheckUtils]: 19: Hoare triple {1990#true} main_#t~ret16#1.base, main_#t~ret16#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret16#1.base, main_#t~ret16#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret16#1.base, main_#t~ret16#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_sll_circular_insert } true;sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset, sll_circular_insert_#in~data#1, sll_circular_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset, sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset, sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset, sll_circular_insert_#t~post12#1, sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset, sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset, sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset, sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, sll_circular_insert_~data#1, sll_circular_insert_~index#1, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset, sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset := sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset;sll_circular_insert_~data#1 := sll_circular_insert_#in~data#1;sll_circular_insert_~index#1 := sll_circular_insert_#in~index#1; {1990#true} is VALID [2022-02-20 16:55:45,358 INFO L290 TraceCheckUtils]: 18: Hoare triple {1990#true} call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4);sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {1990#true} is VALID [2022-02-20 16:55:45,358 INFO L290 TraceCheckUtils]: 17: Hoare triple {1990#true} assume !(sll_circular_create_~len#1 > 1); {1990#true} is VALID [2022-02-20 16:55:45,358 INFO L290 TraceCheckUtils]: 16: Hoare triple {1990#true} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4);sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := sll_circular_create_#t~post6#1 - 1;havoc sll_circular_create_#t~post6#1; {1990#true} is VALID [2022-02-20 16:55:45,358 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1990#true} {1990#true} #139#return; {1990#true} is VALID [2022-02-20 16:55:45,358 INFO L290 TraceCheckUtils]: 14: Hoare triple {1990#true} assume true; {1990#true} is VALID [2022-02-20 16:55:45,359 INFO L290 TraceCheckUtils]: 13: Hoare triple {1990#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1990#true} is VALID [2022-02-20 16:55:45,359 INFO L290 TraceCheckUtils]: 12: Hoare triple {1990#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1990#true} is VALID [2022-02-20 16:55:45,359 INFO L290 TraceCheckUtils]: 11: Hoare triple {1990#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1990#true} is VALID [2022-02-20 16:55:45,359 INFO L272 TraceCheckUtils]: 10: Hoare triple {1990#true} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {1990#true} is VALID [2022-02-20 16:55:45,359 INFO L290 TraceCheckUtils]: 9: Hoare triple {1990#true} assume !!(sll_circular_create_~len#1 > 1); {1990#true} is VALID [2022-02-20 16:55:45,359 INFO L290 TraceCheckUtils]: 8: Hoare triple {1990#true} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {1990#true} is VALID [2022-02-20 16:55:45,359 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1990#true} {1990#true} #137#return; {1990#true} is VALID [2022-02-20 16:55:45,359 INFO L290 TraceCheckUtils]: 6: Hoare triple {1990#true} assume true; {1990#true} is VALID [2022-02-20 16:55:45,359 INFO L290 TraceCheckUtils]: 5: Hoare triple {1990#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1990#true} is VALID [2022-02-20 16:55:45,359 INFO L290 TraceCheckUtils]: 4: Hoare triple {1990#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1990#true} is VALID [2022-02-20 16:55:45,359 INFO L290 TraceCheckUtils]: 3: Hoare triple {1990#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1990#true} is VALID [2022-02-20 16:55:45,359 INFO L272 TraceCheckUtils]: 2: Hoare triple {1990#true} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {1990#true} is VALID [2022-02-20 16:55:45,359 INFO L290 TraceCheckUtils]: 1: Hoare triple {1990#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret16#1.base, main_#t~ret16#1.offset, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~post24#1, main_#t~mem26#1, main_#t~mem27#1.base, main_#t~mem27#1.offset, main_#t~post28#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_#t~mem29#1.base, main_#t~mem29#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {1990#true} is VALID [2022-02-20 16:55:45,359 INFO L290 TraceCheckUtils]: 0: Hoare triple {1990#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(23, 2); {1990#true} is VALID [2022-02-20 16:55:45,360 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-02-20 16:55:45,360 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [144020324] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:55:45,360 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 16:55:45,360 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 5, 5] total 8 [2022-02-20 16:55:45,360 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [780097824] [2022-02-20 16:55:45,360 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 16:55:45,361 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 1 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 36 [2022-02-20 16:55:45,361 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:55:45,361 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 1 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 16:55:45,392 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:45,392 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 16:55:45,392 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:55:45,392 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 16:55:45,392 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=41, Unknown=0, NotChecked=0, Total=56 [2022-02-20 16:55:45,393 INFO L87 Difference]: Start difference. First operand 49 states and 62 transitions. Second operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 1 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 16:55:45,675 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:45,675 INFO L93 Difference]: Finished difference Result 78 states and 99 transitions. [2022-02-20 16:55:45,675 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 16:55:45,675 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 1 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 36 [2022-02-20 16:55:45,675 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:55:45,676 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 1 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 16:55:45,677 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 81 transitions. [2022-02-20 16:55:45,677 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 1 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 16:55:45,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 81 transitions. [2022-02-20 16:55:45,678 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 81 transitions. [2022-02-20 16:55:45,735 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:45,736 INFO L225 Difference]: With dead ends: 78 [2022-02-20 16:55:45,736 INFO L226 Difference]: Without dead ends: 63 [2022-02-20 16:55:45,736 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 75 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2022-02-20 16:55:45,737 INFO L933 BasicCegarLoop]: 34 mSDtfsCounter, 20 mSDsluCounter, 146 mSDsCounter, 0 mSdLazyCounter, 96 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 180 SdHoareTripleChecker+Invalid, 98 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 96 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 16:55:45,737 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 180 Invalid, 98 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 96 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 16:55:45,737 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-02-20 16:55:45,764 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 49. [2022-02-20 16:55:45,765 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:55:45,765 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 49 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 42 states have internal predecessors, (51), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 16:55:45,765 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 49 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 42 states have internal predecessors, (51), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 16:55:45,765 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 49 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 42 states have internal predecessors, (51), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 16:55:45,767 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:45,767 INFO L93 Difference]: Finished difference Result 63 states and 79 transitions. [2022-02-20 16:55:45,767 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 79 transitions. [2022-02-20 16:55:45,767 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:45,767 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:45,768 INFO L74 IsIncluded]: Start isIncluded. First operand has 49 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 42 states have internal predecessors, (51), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 63 states. [2022-02-20 16:55:45,768 INFO L87 Difference]: Start difference. First operand has 49 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 42 states have internal predecessors, (51), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 63 states. [2022-02-20 16:55:45,769 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:45,770 INFO L93 Difference]: Finished difference Result 63 states and 79 transitions. [2022-02-20 16:55:45,770 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 79 transitions. [2022-02-20 16:55:45,770 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:45,770 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:45,770 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:55:45,770 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:55:45,770 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 42 states have internal predecessors, (51), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 16:55:45,772 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 61 transitions. [2022-02-20 16:55:45,772 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 61 transitions. Word has length 36 [2022-02-20 16:55:45,772 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:55:45,772 INFO L470 AbstractCegarLoop]: Abstraction has 49 states and 61 transitions. [2022-02-20 16:55:45,772 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 1 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 16:55:45,772 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 61 transitions. [2022-02-20 16:55:45,773 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-02-20 16:55:45,773 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:55:45,773 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:55:45,792 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-02-20 16:55:45,987 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:55:45,987 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:55:45,988 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:55:45,988 INFO L85 PathProgramCache]: Analyzing trace with hash 1695010641, now seen corresponding path program 1 times [2022-02-20 16:55:45,988 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:55:45,988 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [855095107] [2022-02-20 16:55:45,988 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:45,988 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:55:46,019 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:46,121 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:55:46,125 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:46,129 INFO L290 TraceCheckUtils]: 0: Hoare triple {2549#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2524#true} is VALID [2022-02-20 16:55:46,129 INFO L290 TraceCheckUtils]: 1: Hoare triple {2524#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2524#true} is VALID [2022-02-20 16:55:46,129 INFO L290 TraceCheckUtils]: 2: Hoare triple {2524#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2524#true} is VALID [2022-02-20 16:55:46,129 INFO L290 TraceCheckUtils]: 3: Hoare triple {2524#true} assume true; {2524#true} is VALID [2022-02-20 16:55:46,130 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {2524#true} {2526#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} #137#return; {2526#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} is VALID [2022-02-20 16:55:46,130 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-02-20 16:55:46,134 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:46,168 INFO L290 TraceCheckUtils]: 0: Hoare triple {2549#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2550#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 16:55:46,168 INFO L290 TraceCheckUtils]: 1: Hoare triple {2550#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2550#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 16:55:46,169 INFO L290 TraceCheckUtils]: 2: Hoare triple {2550#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2551#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} is VALID [2022-02-20 16:55:46,170 INFO L290 TraceCheckUtils]: 3: Hoare triple {2551#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} assume true; {2551#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} is VALID [2022-02-20 16:55:46,171 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {2551#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} {2526#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} #139#return; {2537#(and (not (= |ULTIMATE.start_sll_circular_create_#t~ret5#1.base| 0)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 16:55:46,171 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-02-20 16:55:46,178 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:46,223 INFO L290 TraceCheckUtils]: 0: Hoare triple {2549#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2552#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} is VALID [2022-02-20 16:55:46,224 INFO L290 TraceCheckUtils]: 1: Hoare triple {2552#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2552#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} is VALID [2022-02-20 16:55:46,225 INFO L290 TraceCheckUtils]: 2: Hoare triple {2552#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2553#(and (or (<= (+ (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))} is VALID [2022-02-20 16:55:46,226 INFO L290 TraceCheckUtils]: 3: Hoare triple {2553#(and (or (<= (+ (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))} assume true; {2553#(and (or (<= (+ (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))} is VALID [2022-02-20 16:55:46,227 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {2553#(and (or (<= (+ (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))} {2540#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 0)) (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} #141#return; {2546#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|) 0)) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|))} is VALID [2022-02-20 16:55:46,228 INFO L290 TraceCheckUtils]: 0: Hoare triple {2524#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(23, 2); {2524#true} is VALID [2022-02-20 16:55:46,228 INFO L290 TraceCheckUtils]: 1: Hoare triple {2524#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret16#1.base, main_#t~ret16#1.offset, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~post24#1, main_#t~mem26#1, main_#t~mem27#1.base, main_#t~mem27#1.offset, main_#t~post28#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_#t~mem29#1.base, main_#t~mem29#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {2526#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} is VALID [2022-02-20 16:55:46,229 INFO L272 TraceCheckUtils]: 2: Hoare triple {2526#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {2549#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:55:46,230 INFO L290 TraceCheckUtils]: 3: Hoare triple {2549#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2524#true} is VALID [2022-02-20 16:55:46,230 INFO L290 TraceCheckUtils]: 4: Hoare triple {2524#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2524#true} is VALID [2022-02-20 16:55:46,230 INFO L290 TraceCheckUtils]: 5: Hoare triple {2524#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2524#true} is VALID [2022-02-20 16:55:46,230 INFO L290 TraceCheckUtils]: 6: Hoare triple {2524#true} assume true; {2524#true} is VALID [2022-02-20 16:55:46,231 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {2524#true} {2526#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} #137#return; {2526#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} is VALID [2022-02-20 16:55:46,231 INFO L290 TraceCheckUtils]: 8: Hoare triple {2526#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {2526#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} is VALID [2022-02-20 16:55:46,231 INFO L290 TraceCheckUtils]: 9: Hoare triple {2526#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} assume !!(sll_circular_create_~len#1 > 1); {2526#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} is VALID [2022-02-20 16:55:46,232 INFO L272 TraceCheckUtils]: 10: Hoare triple {2526#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {2549#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:55:46,233 INFO L290 TraceCheckUtils]: 11: Hoare triple {2549#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2550#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 16:55:46,234 INFO L290 TraceCheckUtils]: 12: Hoare triple {2550#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2550#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 16:55:46,234 INFO L290 TraceCheckUtils]: 13: Hoare triple {2550#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2551#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} is VALID [2022-02-20 16:55:46,235 INFO L290 TraceCheckUtils]: 14: Hoare triple {2551#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} assume true; {2551#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} is VALID [2022-02-20 16:55:46,236 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2551#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} {2526#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} #139#return; {2537#(and (not (= |ULTIMATE.start_sll_circular_create_#t~ret5#1.base| 0)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 16:55:46,236 INFO L290 TraceCheckUtils]: 16: Hoare triple {2537#(and (not (= |ULTIMATE.start_sll_circular_create_#t~ret5#1.base| 0)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4);sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := sll_circular_create_#t~post6#1 - 1;havoc sll_circular_create_#t~post6#1; {2538#(and (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| 0)))} is VALID [2022-02-20 16:55:46,237 INFO L290 TraceCheckUtils]: 17: Hoare triple {2538#(and (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| 0)))} assume !(sll_circular_create_~len#1 > 1); {2538#(and (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| 0)))} is VALID [2022-02-20 16:55:46,237 INFO L290 TraceCheckUtils]: 18: Hoare triple {2538#(and (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| 0)))} call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4);sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {2539#(and (not (= |ULTIMATE.start_sll_circular_create_#res#1.base| 0)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 16:55:46,238 INFO L290 TraceCheckUtils]: 19: Hoare triple {2539#(and (not (= |ULTIMATE.start_sll_circular_create_#res#1.base| 0)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} main_#t~ret16#1.base, main_#t~ret16#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret16#1.base, main_#t~ret16#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret16#1.base, main_#t~ret16#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_sll_circular_insert } true;sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset, sll_circular_insert_#in~data#1, sll_circular_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset, sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset, sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset, sll_circular_insert_#t~post12#1, sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset, sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset, sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset, sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, sll_circular_insert_~data#1, sll_circular_insert_~index#1, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset, sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset := sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset;sll_circular_insert_~data#1 := sll_circular_insert_#in~data#1;sll_circular_insert_~index#1 := sll_circular_insert_#in~index#1; {2540#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 0)) (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 16:55:46,239 INFO L272 TraceCheckUtils]: 20: Hoare triple {2540#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 0)) (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} call sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset := node_create(sll_circular_insert_~data#1); {2549#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:55:46,240 INFO L290 TraceCheckUtils]: 21: Hoare triple {2549#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2552#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} is VALID [2022-02-20 16:55:46,240 INFO L290 TraceCheckUtils]: 22: Hoare triple {2552#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2552#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} is VALID [2022-02-20 16:55:46,242 INFO L290 TraceCheckUtils]: 23: Hoare triple {2552#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2553#(and (or (<= (+ (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))} is VALID [2022-02-20 16:55:46,242 INFO L290 TraceCheckUtils]: 24: Hoare triple {2553#(and (or (<= (+ (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))} assume true; {2553#(and (or (<= (+ (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))} is VALID [2022-02-20 16:55:46,244 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {2553#(and (or (<= (+ (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))} {2540#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 0)) (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} #141#return; {2546#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|) 0)) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|))} is VALID [2022-02-20 16:55:46,245 INFO L290 TraceCheckUtils]: 26: Hoare triple {2546#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|) 0)) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|))} sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset := sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := 0, 0;call sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset;havoc sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset; {2547#(and (not (= |ULTIMATE.start_sll_circular_insert_~last~1#1.base| 0)) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|))} is VALID [2022-02-20 16:55:46,245 INFO L290 TraceCheckUtils]: 27: Hoare triple {2547#(and (not (= |ULTIMATE.start_sll_circular_insert_~last~1#1.base| 0)) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|))} assume !!(sll_circular_insert_~index#1 > 0);sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;call sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset := read~$Pointer$(sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset;havoc sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset;sll_circular_insert_#t~post12#1 := sll_circular_insert_~index#1;sll_circular_insert_~index#1 := sll_circular_insert_#t~post12#1 - 1;havoc sll_circular_insert_#t~post12#1; {2548#(and (not (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| 0)) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|))} is VALID [2022-02-20 16:55:46,246 INFO L290 TraceCheckUtils]: 28: Hoare triple {2548#(and (not (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| 0)) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|))} assume !(sll_circular_insert_~index#1 > 0); {2548#(and (not (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| 0)) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|))} is VALID [2022-02-20 16:55:46,246 INFO L290 TraceCheckUtils]: 29: Hoare triple {2548#(and (not (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| 0)) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|))} assume !(sll_circular_insert_~snd_to_last~0#1.base != 0 || sll_circular_insert_~snd_to_last~0#1.offset != 0);call sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4); {2525#false} is VALID [2022-02-20 16:55:46,246 INFO L290 TraceCheckUtils]: 30: Hoare triple {2525#false} assume !(sll_circular_insert_#t~mem13#1.base != 0 || sll_circular_insert_#t~mem13#1.offset != 0);havoc sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset;call write~$Pointer$(sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, 4); {2525#false} is VALID [2022-02-20 16:55:46,246 INFO L290 TraceCheckUtils]: 31: Hoare triple {2525#false} call write~$Pointer$(sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4); {2525#false} is VALID [2022-02-20 16:55:46,246 INFO L290 TraceCheckUtils]: 32: Hoare triple {2525#false} assume { :end_inline_sll_circular_insert } true;call main_#t~mem17#1.base, main_#t~mem17#1.offset := read~$Pointer$(main_~#s~0#1.base, main_~#s~0#1.offset, 4);main_~ptr~0#1.base, main_~ptr~0#1.offset := main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;main_~count~0#1 := 0; {2525#false} is VALID [2022-02-20 16:55:46,247 INFO L290 TraceCheckUtils]: 33: Hoare triple {2525#false} call main_#t~mem19#1 := read~int(main_~ptr~0#1.base, 4 + main_~ptr~0#1.offset, 4); {2525#false} is VALID [2022-02-20 16:55:46,247 INFO L290 TraceCheckUtils]: 34: Hoare triple {2525#false} assume main_~data~0#1 != main_#t~mem19#1;havoc main_#t~mem19#1; {2525#false} is VALID [2022-02-20 16:55:46,247 INFO L290 TraceCheckUtils]: 35: Hoare triple {2525#false} assume !false; {2525#false} is VALID [2022-02-20 16:55:46,247 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 9 proven. 5 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-02-20 16:55:46,247 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:55:46,248 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [855095107] [2022-02-20 16:55:46,248 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [855095107] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:55:46,248 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1912723305] [2022-02-20 16:55:46,248 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:46,248 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:55:46,248 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:55:46,249 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 16:55:46,290 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-02-20 16:55:46,398 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:46,400 INFO L263 TraceCheckSpWp]: Trace formula consists of 355 conjuncts, 34 conjunts are in the unsatisfiable core [2022-02-20 16:55:46,414 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:46,416 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:55:46,705 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 9 [2022-02-20 16:55:46,769 WARN L860 $PredicateComparison]: unable to prove that (exists ((|node_create_~temp~0#1.base| Int)) (and (<= (+ |node_create_~temp~0#1.base| 1) |c_#StackHeapBarrier|) (exists ((v_ArrVal_1214 (Array Int Int))) (= |c_#memory_$Pointer$.base| (store |c_old(#memory_$Pointer$.base)| |node_create_~temp~0#1.base| v_ArrVal_1214))))) is different from true [2022-02-20 16:55:46,853 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:55:46,855 INFO L390 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 0 case distinctions, treesize of input 24 treesize of output 24 [2022-02-20 16:55:46,895 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 13 [2022-02-20 16:55:46,962 INFO L290 TraceCheckUtils]: 0: Hoare triple {2524#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(23, 2); {2524#true} is VALID [2022-02-20 16:55:46,963 INFO L290 TraceCheckUtils]: 1: Hoare triple {2524#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret16#1.base, main_#t~ret16#1.offset, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~post24#1, main_#t~mem26#1, main_#t~mem27#1.base, main_#t~mem27#1.offset, main_#t~post28#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_#t~mem29#1.base, main_#t~mem29#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {2560#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 16:55:46,963 INFO L272 TraceCheckUtils]: 2: Hoare triple {2560#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {2524#true} is VALID [2022-02-20 16:55:46,963 INFO L290 TraceCheckUtils]: 3: Hoare triple {2524#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2524#true} is VALID [2022-02-20 16:55:46,963 INFO L290 TraceCheckUtils]: 4: Hoare triple {2524#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2524#true} is VALID [2022-02-20 16:55:46,964 INFO L290 TraceCheckUtils]: 5: Hoare triple {2524#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2524#true} is VALID [2022-02-20 16:55:46,964 INFO L290 TraceCheckUtils]: 6: Hoare triple {2524#true} assume true; {2524#true} is VALID [2022-02-20 16:55:46,968 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {2524#true} {2560#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} #137#return; {2560#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 16:55:46,968 INFO L290 TraceCheckUtils]: 8: Hoare triple {2560#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {2560#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 16:55:46,969 INFO L290 TraceCheckUtils]: 9: Hoare triple {2560#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} assume !!(sll_circular_create_~len#1 > 1); {2560#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 16:55:46,969 INFO L272 TraceCheckUtils]: 10: Hoare triple {2560#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {2524#true} is VALID [2022-02-20 16:55:46,969 INFO L290 TraceCheckUtils]: 11: Hoare triple {2524#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2550#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 16:55:46,970 INFO L290 TraceCheckUtils]: 12: Hoare triple {2550#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2550#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 16:55:46,970 INFO L290 TraceCheckUtils]: 13: Hoare triple {2550#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2551#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} is VALID [2022-02-20 16:55:46,979 INFO L290 TraceCheckUtils]: 14: Hoare triple {2551#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} assume true; {2551#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} is VALID [2022-02-20 16:55:46,981 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2551#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} {2560#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} #139#return; {2603#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_sll_circular_create_#t~ret5#1.base| 1) 0) (<= 1 |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|)))} is VALID [2022-02-20 16:55:46,982 INFO L290 TraceCheckUtils]: 16: Hoare triple {2603#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_sll_circular_create_#t~ret5#1.base| 1) 0) (<= 1 |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|)))} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4);sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := sll_circular_create_#t~post6#1 - 1;havoc sll_circular_create_#t~post6#1; {2607#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (or (<= 1 |ULTIMATE.start_sll_circular_create_~head~0#1.base|) (<= (+ |ULTIMATE.start_sll_circular_create_~head~0#1.base| 1) 0)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 16:55:46,982 INFO L290 TraceCheckUtils]: 17: Hoare triple {2607#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (or (<= 1 |ULTIMATE.start_sll_circular_create_~head~0#1.base|) (<= (+ |ULTIMATE.start_sll_circular_create_~head~0#1.base| 1) 0)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} assume !(sll_circular_create_~len#1 > 1); {2607#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (or (<= 1 |ULTIMATE.start_sll_circular_create_~head~0#1.base|) (<= (+ |ULTIMATE.start_sll_circular_create_~head~0#1.base| 1) 0)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 16:55:46,983 INFO L290 TraceCheckUtils]: 18: Hoare triple {2607#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (or (<= 1 |ULTIMATE.start_sll_circular_create_~head~0#1.base|) (<= (+ |ULTIMATE.start_sll_circular_create_~head~0#1.base| 1) 0)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4);sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {2614#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (or (<= 1 |ULTIMATE.start_sll_circular_create_#res#1.base|) (<= (+ |ULTIMATE.start_sll_circular_create_#res#1.base| 1) 0)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 16:55:46,983 INFO L290 TraceCheckUtils]: 19: Hoare triple {2614#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (or (<= 1 |ULTIMATE.start_sll_circular_create_#res#1.base|) (<= (+ |ULTIMATE.start_sll_circular_create_#res#1.base| 1) 0)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} main_#t~ret16#1.base, main_#t~ret16#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret16#1.base, main_#t~ret16#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret16#1.base, main_#t~ret16#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_sll_circular_insert } true;sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset, sll_circular_insert_#in~data#1, sll_circular_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset, sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset, sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset, sll_circular_insert_#t~post12#1, sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset, sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset, sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset, sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, sll_circular_insert_~data#1, sll_circular_insert_~index#1, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset, sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset := sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset;sll_circular_insert_~data#1 := sll_circular_insert_#in~data#1;sll_circular_insert_~index#1 := sll_circular_insert_#in~index#1; {2618#(and (< |#StackHeapBarrier| |ULTIMATE.start_sll_circular_insert_~head#1.base|) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| 0) (or (<= (+ (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) 0) 1) 0) (<= 1 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) 0))))} is VALID [2022-02-20 16:55:46,984 INFO L272 TraceCheckUtils]: 20: Hoare triple {2618#(and (< |#StackHeapBarrier| |ULTIMATE.start_sll_circular_insert_~head#1.base|) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| 0) (or (<= (+ (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) 0) 1) 0) (<= 1 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) 0))))} call sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset := node_create(sll_circular_insert_~data#1); {2622#(= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)} is VALID [2022-02-20 16:55:46,984 INFO L290 TraceCheckUtils]: 21: Hoare triple {2622#(= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2552#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} is VALID [2022-02-20 16:55:46,985 INFO L290 TraceCheckUtils]: 22: Hoare triple {2552#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2552#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} is VALID [2022-02-20 16:55:46,988 WARN L290 TraceCheckUtils]: 23: Hoare triple {2552#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2632#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_1214 (Array Int Int))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |node_create_~temp~0#1.base| v_ArrVal_1214))) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|)))} is UNKNOWN [2022-02-20 16:55:46,989 INFO L290 TraceCheckUtils]: 24: Hoare triple {2632#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_1214 (Array Int Int))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |node_create_~temp~0#1.base| v_ArrVal_1214))) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|)))} assume true; {2632#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_1214 (Array Int Int))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |node_create_~temp~0#1.base| v_ArrVal_1214))) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|)))} is VALID [2022-02-20 16:55:46,991 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {2632#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_1214 (Array Int Int))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |node_create_~temp~0#1.base| v_ArrVal_1214))) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|)))} {2618#(and (< |#StackHeapBarrier| |ULTIMATE.start_sll_circular_insert_~head#1.base|) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| 0) (or (<= (+ (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) 0) 1) 0) (<= 1 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) 0))))} #141#return; {2639#(and (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| 0) (or (<= (+ (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) 0) 1) 0) (<= 1 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) 0))))} is VALID [2022-02-20 16:55:46,991 INFO L290 TraceCheckUtils]: 26: Hoare triple {2639#(and (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| 0) (or (<= (+ (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) 0) 1) 0) (<= 1 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) 0))))} sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset := sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := 0, 0;call sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset;havoc sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset; {2643#(or (<= 1 |ULTIMATE.start_sll_circular_insert_~last~1#1.base|) (<= (+ |ULTIMATE.start_sll_circular_insert_~last~1#1.base| 1) 0))} is VALID [2022-02-20 16:55:46,992 INFO L290 TraceCheckUtils]: 27: Hoare triple {2643#(or (<= 1 |ULTIMATE.start_sll_circular_insert_~last~1#1.base|) (<= (+ |ULTIMATE.start_sll_circular_insert_~last~1#1.base| 1) 0))} assume !!(sll_circular_insert_~index#1 > 0);sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;call sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset := read~$Pointer$(sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset;havoc sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset;sll_circular_insert_#t~post12#1 := sll_circular_insert_~index#1;sll_circular_insert_~index#1 := sll_circular_insert_#t~post12#1 - 1;havoc sll_circular_insert_#t~post12#1; {2647#(or (<= 1 |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base|) (<= (+ |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| 1) 0))} is VALID [2022-02-20 16:55:46,992 INFO L290 TraceCheckUtils]: 28: Hoare triple {2647#(or (<= 1 |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base|) (<= (+ |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| 1) 0))} assume !(sll_circular_insert_~index#1 > 0); {2647#(or (<= 1 |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base|) (<= (+ |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| 1) 0))} is VALID [2022-02-20 16:55:46,992 INFO L290 TraceCheckUtils]: 29: Hoare triple {2647#(or (<= 1 |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base|) (<= (+ |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| 1) 0))} assume !(sll_circular_insert_~snd_to_last~0#1.base != 0 || sll_circular_insert_~snd_to_last~0#1.offset != 0);call sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4); {2525#false} is VALID [2022-02-20 16:55:46,992 INFO L290 TraceCheckUtils]: 30: Hoare triple {2525#false} assume !(sll_circular_insert_#t~mem13#1.base != 0 || sll_circular_insert_#t~mem13#1.offset != 0);havoc sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset;call write~$Pointer$(sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, 4); {2525#false} is VALID [2022-02-20 16:55:46,992 INFO L290 TraceCheckUtils]: 31: Hoare triple {2525#false} call write~$Pointer$(sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4); {2525#false} is VALID [2022-02-20 16:55:46,993 INFO L290 TraceCheckUtils]: 32: Hoare triple {2525#false} assume { :end_inline_sll_circular_insert } true;call main_#t~mem17#1.base, main_#t~mem17#1.offset := read~$Pointer$(main_~#s~0#1.base, main_~#s~0#1.offset, 4);main_~ptr~0#1.base, main_~ptr~0#1.offset := main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;main_~count~0#1 := 0; {2525#false} is VALID [2022-02-20 16:55:46,993 INFO L290 TraceCheckUtils]: 33: Hoare triple {2525#false} call main_#t~mem19#1 := read~int(main_~ptr~0#1.base, 4 + main_~ptr~0#1.offset, 4); {2525#false} is VALID [2022-02-20 16:55:46,993 INFO L290 TraceCheckUtils]: 34: Hoare triple {2525#false} assume main_~data~0#1 != main_#t~mem19#1;havoc main_#t~mem19#1; {2525#false} is VALID [2022-02-20 16:55:46,993 INFO L290 TraceCheckUtils]: 35: Hoare triple {2525#false} assume !false; {2525#false} is VALID [2022-02-20 16:55:46,993 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 11 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 2 not checked. [2022-02-20 16:55:46,993 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:55:47,198 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1217 (Array Int Int)) (|v_node_create_~temp~0#1.base_19| Int)) (let ((.cse0 (select (select (store |c_#memory_$Pointer$.base| |v_node_create_~temp~0#1.base_19| v_ArrVal_1217) |c_ULTIMATE.start_sll_circular_insert_~head#1.base|) |c_ULTIMATE.start_sll_circular_insert_~head#1.offset|))) (or (not (< |v_node_create_~temp~0#1.base_19| |c_#StackHeapBarrier|)) (<= (+ .cse0 1) 0) (<= 1 .cse0)))) is different from false [2022-02-20 16:55:47,200 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1912723305] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:55:47,200 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 16:55:47,200 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 25 [2022-02-20 16:55:47,200 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1395420011] [2022-02-20 16:55:47,200 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 16:55:47,201 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 23 states have (on average 2.0) internal successors, (46), 19 states have internal predecessors, (46), 4 states have call successors, (6), 3 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 4 states have call successors, (6) Word has length 36 [2022-02-20 16:55:47,201 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:55:47,201 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 25 states, 23 states have (on average 2.0) internal successors, (46), 19 states have internal predecessors, (46), 4 states have call successors, (6), 3 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 4 states have call successors, (6) [2022-02-20 16:55:47,262 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 57 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:47,263 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-02-20 16:55:47,263 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:55:47,263 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-02-20 16:55:47,264 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=78, Invalid=528, Unknown=2, NotChecked=94, Total=702 [2022-02-20 16:55:47,264 INFO L87 Difference]: Start difference. First operand 49 states and 61 transitions. Second operand has 25 states, 23 states have (on average 2.0) internal successors, (46), 19 states have internal predecessors, (46), 4 states have call successors, (6), 3 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 4 states have call successors, (6) [2022-02-20 16:55:47,972 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:47,972 INFO L93 Difference]: Finished difference Result 63 states and 79 transitions. [2022-02-20 16:55:47,972 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-02-20 16:55:47,972 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 23 states have (on average 2.0) internal successors, (46), 19 states have internal predecessors, (46), 4 states have call successors, (6), 3 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 4 states have call successors, (6) Word has length 36 [2022-02-20 16:55:47,973 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:55:47,973 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 23 states have (on average 2.0) internal successors, (46), 19 states have internal predecessors, (46), 4 states have call successors, (6), 3 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 4 states have call successors, (6) [2022-02-20 16:55:47,974 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 64 transitions. [2022-02-20 16:55:47,974 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 23 states have (on average 2.0) internal successors, (46), 19 states have internal predecessors, (46), 4 states have call successors, (6), 3 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 4 states have call successors, (6) [2022-02-20 16:55:47,975 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 64 transitions. [2022-02-20 16:55:47,975 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 64 transitions. [2022-02-20 16:55:48,037 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 63 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:48,037 INFO L225 Difference]: With dead ends: 63 [2022-02-20 16:55:48,038 INFO L226 Difference]: Without dead ends: 47 [2022-02-20 16:55:48,038 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 71 GetRequests, 35 SyntacticMatches, 4 SemanticMatches, 32 ConstructedPredicates, 2 IntricatePredicates, 0 DeprecatedPredicates, 227 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=133, Invalid=865, Unknown=2, NotChecked=122, Total=1122 [2022-02-20 16:55:48,039 INFO L933 BasicCegarLoop]: 27 mSDtfsCounter, 34 mSDsluCounter, 267 mSDsCounter, 0 mSdLazyCounter, 196 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 34 SdHoareTripleChecker+Valid, 294 SdHoareTripleChecker+Invalid, 250 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 196 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 39 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 16:55:48,039 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [34 Valid, 294 Invalid, 250 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 196 Invalid, 0 Unknown, 39 Unchecked, 0.2s Time] [2022-02-20 16:55:48,039 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-02-20 16:55:48,091 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 47. [2022-02-20 16:55:48,091 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:55:48,092 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 47 states, 40 states have (on average 1.175) internal successors, (47), 40 states have internal predecessors, (47), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 16:55:48,092 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 47 states, 40 states have (on average 1.175) internal successors, (47), 40 states have internal predecessors, (47), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 16:55:48,092 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 47 states, 40 states have (on average 1.175) internal successors, (47), 40 states have internal predecessors, (47), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 16:55:48,093 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:48,093 INFO L93 Difference]: Finished difference Result 47 states and 57 transitions. [2022-02-20 16:55:48,093 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 57 transitions. [2022-02-20 16:55:48,096 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:48,096 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:48,097 INFO L74 IsIncluded]: Start isIncluded. First operand has 47 states, 40 states have (on average 1.175) internal successors, (47), 40 states have internal predecessors, (47), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 47 states. [2022-02-20 16:55:48,097 INFO L87 Difference]: Start difference. First operand has 47 states, 40 states have (on average 1.175) internal successors, (47), 40 states have internal predecessors, (47), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 47 states. [2022-02-20 16:55:48,098 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:48,098 INFO L93 Difference]: Finished difference Result 47 states and 57 transitions. [2022-02-20 16:55:48,098 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 57 transitions. [2022-02-20 16:55:48,098 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:48,098 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:48,098 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:55:48,098 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:55:48,098 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 47 states, 40 states have (on average 1.175) internal successors, (47), 40 states have internal predecessors, (47), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 16:55:48,099 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 57 transitions. [2022-02-20 16:55:48,099 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 57 transitions. Word has length 36 [2022-02-20 16:55:48,099 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:55:48,100 INFO L470 AbstractCegarLoop]: Abstraction has 47 states and 57 transitions. [2022-02-20 16:55:48,100 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 25 states, 23 states have (on average 2.0) internal successors, (46), 19 states have internal predecessors, (46), 4 states have call successors, (6), 3 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 4 states have call successors, (6) [2022-02-20 16:55:48,100 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 57 transitions. [2022-02-20 16:55:48,100 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-02-20 16:55:48,100 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:55:48,103 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:55:48,122 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-02-20 16:55:48,319 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:55:48,319 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:55:48,320 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:55:48,320 INFO L85 PathProgramCache]: Analyzing trace with hash 108256579, now seen corresponding path program 1 times [2022-02-20 16:55:48,320 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:55:48,320 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [502131472] [2022-02-20 16:55:48,320 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:48,320 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:55:48,343 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:48,425 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:55:48,441 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:48,445 INFO L290 TraceCheckUtils]: 0: Hoare triple {2988#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2965#true} is VALID [2022-02-20 16:55:48,445 INFO L290 TraceCheckUtils]: 1: Hoare triple {2965#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2965#true} is VALID [2022-02-20 16:55:48,445 INFO L290 TraceCheckUtils]: 2: Hoare triple {2965#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2965#true} is VALID [2022-02-20 16:55:48,445 INFO L290 TraceCheckUtils]: 3: Hoare triple {2965#true} assume true; {2965#true} is VALID [2022-02-20 16:55:48,446 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {2965#true} {2967#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} #137#return; {2967#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} is VALID [2022-02-20 16:55:48,446 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-02-20 16:55:48,449 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:48,452 INFO L290 TraceCheckUtils]: 0: Hoare triple {2988#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2965#true} is VALID [2022-02-20 16:55:48,452 INFO L290 TraceCheckUtils]: 1: Hoare triple {2965#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2965#true} is VALID [2022-02-20 16:55:48,453 INFO L290 TraceCheckUtils]: 2: Hoare triple {2965#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2965#true} is VALID [2022-02-20 16:55:48,453 INFO L290 TraceCheckUtils]: 3: Hoare triple {2965#true} assume true; {2965#true} is VALID [2022-02-20 16:55:48,453 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {2965#true} {2967#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} #139#return; {2967#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} is VALID [2022-02-20 16:55:48,453 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-02-20 16:55:48,456 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:48,460 INFO L290 TraceCheckUtils]: 0: Hoare triple {2988#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2965#true} is VALID [2022-02-20 16:55:48,460 INFO L290 TraceCheckUtils]: 1: Hoare triple {2965#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2965#true} is VALID [2022-02-20 16:55:48,460 INFO L290 TraceCheckUtils]: 2: Hoare triple {2965#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2965#true} is VALID [2022-02-20 16:55:48,460 INFO L290 TraceCheckUtils]: 3: Hoare triple {2965#true} assume true; {2965#true} is VALID [2022-02-20 16:55:48,461 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {2965#true} {2979#(and (<= |ULTIMATE.start_sll_circular_insert_~index#1| 1) (or (not (= (+ (- 1) |ULTIMATE.start_sll_circular_insert_~index#1|) 0)) (= |ULTIMATE.start_main_~mid_index~0#1| |ULTIMATE.start_sll_circular_insert_~index#1|)))} #141#return; {2979#(and (<= |ULTIMATE.start_sll_circular_insert_~index#1| 1) (or (not (= (+ (- 1) |ULTIMATE.start_sll_circular_insert_~index#1|) 0)) (= |ULTIMATE.start_main_~mid_index~0#1| |ULTIMATE.start_sll_circular_insert_~index#1|)))} is VALID [2022-02-20 16:55:48,461 INFO L290 TraceCheckUtils]: 0: Hoare triple {2965#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(23, 2); {2965#true} is VALID [2022-02-20 16:55:48,461 INFO L290 TraceCheckUtils]: 1: Hoare triple {2965#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret16#1.base, main_#t~ret16#1.offset, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~post24#1, main_#t~mem26#1, main_#t~mem27#1.base, main_#t~mem27#1.offset, main_#t~post28#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_#t~mem29#1.base, main_#t~mem29#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {2967#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} is VALID [2022-02-20 16:55:48,462 INFO L272 TraceCheckUtils]: 2: Hoare triple {2967#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {2988#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:55:48,462 INFO L290 TraceCheckUtils]: 3: Hoare triple {2988#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2965#true} is VALID [2022-02-20 16:55:48,462 INFO L290 TraceCheckUtils]: 4: Hoare triple {2965#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2965#true} is VALID [2022-02-20 16:55:48,463 INFO L290 TraceCheckUtils]: 5: Hoare triple {2965#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2965#true} is VALID [2022-02-20 16:55:48,463 INFO L290 TraceCheckUtils]: 6: Hoare triple {2965#true} assume true; {2965#true} is VALID [2022-02-20 16:55:48,463 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {2965#true} {2967#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} #137#return; {2967#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} is VALID [2022-02-20 16:55:48,464 INFO L290 TraceCheckUtils]: 8: Hoare triple {2967#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {2967#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} is VALID [2022-02-20 16:55:48,464 INFO L290 TraceCheckUtils]: 9: Hoare triple {2967#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} assume !!(sll_circular_create_~len#1 > 1); {2967#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} is VALID [2022-02-20 16:55:48,465 INFO L272 TraceCheckUtils]: 10: Hoare triple {2967#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {2988#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:55:48,465 INFO L290 TraceCheckUtils]: 11: Hoare triple {2988#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2965#true} is VALID [2022-02-20 16:55:48,465 INFO L290 TraceCheckUtils]: 12: Hoare triple {2965#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2965#true} is VALID [2022-02-20 16:55:48,465 INFO L290 TraceCheckUtils]: 13: Hoare triple {2965#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2965#true} is VALID [2022-02-20 16:55:48,465 INFO L290 TraceCheckUtils]: 14: Hoare triple {2965#true} assume true; {2965#true} is VALID [2022-02-20 16:55:48,466 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2965#true} {2967#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} #139#return; {2967#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} is VALID [2022-02-20 16:55:48,466 INFO L290 TraceCheckUtils]: 16: Hoare triple {2967#(and (= (+ (- 2) |ULTIMATE.start_sll_circular_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_sll_circular_create_~len#1|) 0))} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4);sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := sll_circular_create_#t~post6#1 - 1;havoc sll_circular_create_#t~post6#1; {2978#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 16:55:48,467 INFO L290 TraceCheckUtils]: 17: Hoare triple {2978#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} assume !(sll_circular_create_~len#1 > 1); {2978#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 16:55:48,467 INFO L290 TraceCheckUtils]: 18: Hoare triple {2978#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4);sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {2978#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 16:55:48,468 INFO L290 TraceCheckUtils]: 19: Hoare triple {2978#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} main_#t~ret16#1.base, main_#t~ret16#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret16#1.base, main_#t~ret16#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret16#1.base, main_#t~ret16#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_sll_circular_insert } true;sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset, sll_circular_insert_#in~data#1, sll_circular_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset, sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset, sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset, sll_circular_insert_#t~post12#1, sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset, sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset, sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset, sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, sll_circular_insert_~data#1, sll_circular_insert_~index#1, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset, sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset := sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset;sll_circular_insert_~data#1 := sll_circular_insert_#in~data#1;sll_circular_insert_~index#1 := sll_circular_insert_#in~index#1; {2979#(and (<= |ULTIMATE.start_sll_circular_insert_~index#1| 1) (or (not (= (+ (- 1) |ULTIMATE.start_sll_circular_insert_~index#1|) 0)) (= |ULTIMATE.start_main_~mid_index~0#1| |ULTIMATE.start_sll_circular_insert_~index#1|)))} is VALID [2022-02-20 16:55:48,469 INFO L272 TraceCheckUtils]: 20: Hoare triple {2979#(and (<= |ULTIMATE.start_sll_circular_insert_~index#1| 1) (or (not (= (+ (- 1) |ULTIMATE.start_sll_circular_insert_~index#1|) 0)) (= |ULTIMATE.start_main_~mid_index~0#1| |ULTIMATE.start_sll_circular_insert_~index#1|)))} call sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset := node_create(sll_circular_insert_~data#1); {2988#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:55:48,469 INFO L290 TraceCheckUtils]: 21: Hoare triple {2988#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2965#true} is VALID [2022-02-20 16:55:48,469 INFO L290 TraceCheckUtils]: 22: Hoare triple {2965#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2965#true} is VALID [2022-02-20 16:55:48,469 INFO L290 TraceCheckUtils]: 23: Hoare triple {2965#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2965#true} is VALID [2022-02-20 16:55:48,469 INFO L290 TraceCheckUtils]: 24: Hoare triple {2965#true} assume true; {2965#true} is VALID [2022-02-20 16:55:48,470 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {2965#true} {2979#(and (<= |ULTIMATE.start_sll_circular_insert_~index#1| 1) (or (not (= (+ (- 1) |ULTIMATE.start_sll_circular_insert_~index#1|) 0)) (= |ULTIMATE.start_main_~mid_index~0#1| |ULTIMATE.start_sll_circular_insert_~index#1|)))} #141#return; {2979#(and (<= |ULTIMATE.start_sll_circular_insert_~index#1| 1) (or (not (= (+ (- 1) |ULTIMATE.start_sll_circular_insert_~index#1|) 0)) (= |ULTIMATE.start_main_~mid_index~0#1| |ULTIMATE.start_sll_circular_insert_~index#1|)))} is VALID [2022-02-20 16:55:48,471 INFO L290 TraceCheckUtils]: 26: Hoare triple {2979#(and (<= |ULTIMATE.start_sll_circular_insert_~index#1| 1) (or (not (= (+ (- 1) |ULTIMATE.start_sll_circular_insert_~index#1|) 0)) (= |ULTIMATE.start_main_~mid_index~0#1| |ULTIMATE.start_sll_circular_insert_~index#1|)))} sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset := sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := 0, 0;call sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset;havoc sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset; {2979#(and (<= |ULTIMATE.start_sll_circular_insert_~index#1| 1) (or (not (= (+ (- 1) |ULTIMATE.start_sll_circular_insert_~index#1|) 0)) (= |ULTIMATE.start_main_~mid_index~0#1| |ULTIMATE.start_sll_circular_insert_~index#1|)))} is VALID [2022-02-20 16:55:48,471 INFO L290 TraceCheckUtils]: 27: Hoare triple {2979#(and (<= |ULTIMATE.start_sll_circular_insert_~index#1| 1) (or (not (= (+ (- 1) |ULTIMATE.start_sll_circular_insert_~index#1|) 0)) (= |ULTIMATE.start_main_~mid_index~0#1| |ULTIMATE.start_sll_circular_insert_~index#1|)))} assume !!(sll_circular_insert_~index#1 > 0);sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;call sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset := read~$Pointer$(sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset;havoc sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset;sll_circular_insert_#t~post12#1 := sll_circular_insert_~index#1;sll_circular_insert_~index#1 := sll_circular_insert_#t~post12#1 - 1;havoc sll_circular_insert_#t~post12#1; {2985#(= |ULTIMATE.start_main_~mid_index~0#1| 1)} is VALID [2022-02-20 16:55:48,471 INFO L290 TraceCheckUtils]: 28: Hoare triple {2985#(= |ULTIMATE.start_main_~mid_index~0#1| 1)} assume !(sll_circular_insert_~index#1 > 0); {2985#(= |ULTIMATE.start_main_~mid_index~0#1| 1)} is VALID [2022-02-20 16:55:48,472 INFO L290 TraceCheckUtils]: 29: Hoare triple {2985#(= |ULTIMATE.start_main_~mid_index~0#1| 1)} assume sll_circular_insert_~snd_to_last~0#1.base != 0 || sll_circular_insert_~snd_to_last~0#1.offset != 0;call write~$Pointer$(sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset, 4);call write~$Pointer$(sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, 4); {2985#(= |ULTIMATE.start_main_~mid_index~0#1| 1)} is VALID [2022-02-20 16:55:48,472 INFO L290 TraceCheckUtils]: 30: Hoare triple {2985#(= |ULTIMATE.start_main_~mid_index~0#1| 1)} assume { :end_inline_sll_circular_insert } true;call main_#t~mem17#1.base, main_#t~mem17#1.offset := read~$Pointer$(main_~#s~0#1.base, main_~#s~0#1.offset, 4);main_~ptr~0#1.base, main_~ptr~0#1.offset := main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;main_~count~0#1 := 0; {2986#(and (= |ULTIMATE.start_main_~mid_index~0#1| 1) (= |ULTIMATE.start_main_~count~0#1| 0))} is VALID [2022-02-20 16:55:48,472 INFO L290 TraceCheckUtils]: 31: Hoare triple {2986#(and (= |ULTIMATE.start_main_~mid_index~0#1| 1) (= |ULTIMATE.start_main_~count~0#1| 0))} call main_#t~mem19#1 := read~int(main_~ptr~0#1.base, 4 + main_~ptr~0#1.offset, 4); {2986#(and (= |ULTIMATE.start_main_~mid_index~0#1| 1) (= |ULTIMATE.start_main_~count~0#1| 0))} is VALID [2022-02-20 16:55:48,473 INFO L290 TraceCheckUtils]: 32: Hoare triple {2986#(and (= |ULTIMATE.start_main_~mid_index~0#1| 1) (= |ULTIMATE.start_main_~count~0#1| 0))} assume !(main_~data~0#1 != main_#t~mem19#1);havoc main_#t~mem19#1;call main_#t~mem20#1.base, main_#t~mem20#1.offset := read~$Pointer$(main_~ptr~0#1.base, main_~ptr~0#1.offset, 4);main_~ptr~0#1.base, main_~ptr~0#1.offset := main_#t~mem20#1.base, main_#t~mem20#1.offset;havoc main_#t~mem20#1.base, main_#t~mem20#1.offset;main_#t~post21#1 := main_~count~0#1;main_~count~0#1 := 1 + main_#t~post21#1;havoc main_#t~post21#1; {2987#(and (= |ULTIMATE.start_main_~count~0#1| 1) (= |ULTIMATE.start_main_~count~0#1| |ULTIMATE.start_main_~mid_index~0#1|))} is VALID [2022-02-20 16:55:48,473 INFO L290 TraceCheckUtils]: 33: Hoare triple {2987#(and (= |ULTIMATE.start_main_~count~0#1| 1) (= |ULTIMATE.start_main_~count~0#1| |ULTIMATE.start_main_~mid_index~0#1|))} call main_#t~mem18#1.base, main_#t~mem18#1.offset := read~$Pointer$(main_~#s~0#1.base, main_~#s~0#1.offset, 4); {2987#(and (= |ULTIMATE.start_main_~count~0#1| 1) (= |ULTIMATE.start_main_~count~0#1| |ULTIMATE.start_main_~mid_index~0#1|))} is VALID [2022-02-20 16:55:48,474 INFO L290 TraceCheckUtils]: 34: Hoare triple {2987#(and (= |ULTIMATE.start_main_~count~0#1| 1) (= |ULTIMATE.start_main_~count~0#1| |ULTIMATE.start_main_~mid_index~0#1|))} assume !!((main_~ptr~0#1.base != main_#t~mem18#1.base || main_~ptr~0#1.offset != main_#t~mem18#1.offset) && main_~count~0#1 != main_~mid_index~0#1);havoc main_#t~mem18#1.base, main_#t~mem18#1.offset; {2966#false} is VALID [2022-02-20 16:55:48,474 INFO L290 TraceCheckUtils]: 35: Hoare triple {2966#false} call main_#t~mem19#1 := read~int(main_~ptr~0#1.base, 4 + main_~ptr~0#1.offset, 4); {2966#false} is VALID [2022-02-20 16:55:48,474 INFO L290 TraceCheckUtils]: 36: Hoare triple {2966#false} assume main_~data~0#1 != main_#t~mem19#1;havoc main_#t~mem19#1; {2966#false} is VALID [2022-02-20 16:55:48,474 INFO L290 TraceCheckUtils]: 37: Hoare triple {2966#false} assume !false; {2966#false} is VALID [2022-02-20 16:55:48,474 INFO L134 CoverageAnalysis]: Checked inductivity of 19 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-02-20 16:55:48,474 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:55:48,475 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [502131472] [2022-02-20 16:55:48,475 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [502131472] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:55:48,475 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1799931973] [2022-02-20 16:55:48,475 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:48,475 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:55:48,475 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:55:48,476 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) [2022-02-20 16:55:48,507 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-02-20 16:55:48,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:48,618 INFO L263 TraceCheckSpWp]: Trace formula consists of 364 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-20 16:55:48,633 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:48,634 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:55:48,772 INFO L290 TraceCheckUtils]: 0: Hoare triple {2965#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(23, 2); {2965#true} is VALID [2022-02-20 16:55:48,772 INFO L290 TraceCheckUtils]: 1: Hoare triple {2965#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret16#1.base, main_#t~ret16#1.offset, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~post24#1, main_#t~mem26#1, main_#t~mem27#1.base, main_#t~mem27#1.offset, main_#t~post28#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_#t~mem29#1.base, main_#t~mem29#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {2965#true} is VALID [2022-02-20 16:55:48,772 INFO L272 TraceCheckUtils]: 2: Hoare triple {2965#true} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {2965#true} is VALID [2022-02-20 16:55:48,773 INFO L290 TraceCheckUtils]: 3: Hoare triple {2965#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2965#true} is VALID [2022-02-20 16:55:48,773 INFO L290 TraceCheckUtils]: 4: Hoare triple {2965#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2965#true} is VALID [2022-02-20 16:55:48,773 INFO L290 TraceCheckUtils]: 5: Hoare triple {2965#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2965#true} is VALID [2022-02-20 16:55:48,773 INFO L290 TraceCheckUtils]: 6: Hoare triple {2965#true} assume true; {2965#true} is VALID [2022-02-20 16:55:48,773 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {2965#true} {2965#true} #137#return; {2965#true} is VALID [2022-02-20 16:55:48,773 INFO L290 TraceCheckUtils]: 8: Hoare triple {2965#true} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {2965#true} is VALID [2022-02-20 16:55:48,773 INFO L290 TraceCheckUtils]: 9: Hoare triple {2965#true} assume !!(sll_circular_create_~len#1 > 1); {2965#true} is VALID [2022-02-20 16:55:48,773 INFO L272 TraceCheckUtils]: 10: Hoare triple {2965#true} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {2965#true} is VALID [2022-02-20 16:55:48,773 INFO L290 TraceCheckUtils]: 11: Hoare triple {2965#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2965#true} is VALID [2022-02-20 16:55:48,773 INFO L290 TraceCheckUtils]: 12: Hoare triple {2965#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2965#true} is VALID [2022-02-20 16:55:48,773 INFO L290 TraceCheckUtils]: 13: Hoare triple {2965#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2965#true} is VALID [2022-02-20 16:55:48,773 INFO L290 TraceCheckUtils]: 14: Hoare triple {2965#true} assume true; {2965#true} is VALID [2022-02-20 16:55:48,773 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2965#true} {2965#true} #139#return; {2965#true} is VALID [2022-02-20 16:55:48,774 INFO L290 TraceCheckUtils]: 16: Hoare triple {2965#true} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4);sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := sll_circular_create_#t~post6#1 - 1;havoc sll_circular_create_#t~post6#1; {2965#true} is VALID [2022-02-20 16:55:48,774 INFO L290 TraceCheckUtils]: 17: Hoare triple {2965#true} assume !(sll_circular_create_~len#1 > 1); {2965#true} is VALID [2022-02-20 16:55:48,774 INFO L290 TraceCheckUtils]: 18: Hoare triple {2965#true} call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4);sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {2965#true} is VALID [2022-02-20 16:55:48,774 INFO L290 TraceCheckUtils]: 19: Hoare triple {2965#true} main_#t~ret16#1.base, main_#t~ret16#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret16#1.base, main_#t~ret16#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret16#1.base, main_#t~ret16#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_sll_circular_insert } true;sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset, sll_circular_insert_#in~data#1, sll_circular_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset, sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset, sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset, sll_circular_insert_#t~post12#1, sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset, sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset, sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset, sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, sll_circular_insert_~data#1, sll_circular_insert_~index#1, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset, sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset := sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset;sll_circular_insert_~data#1 := sll_circular_insert_#in~data#1;sll_circular_insert_~index#1 := sll_circular_insert_#in~index#1; {3049#(= |ULTIMATE.start_main_~mid_index~0#1| |ULTIMATE.start_sll_circular_insert_~index#1|)} is VALID [2022-02-20 16:55:48,774 INFO L272 TraceCheckUtils]: 20: Hoare triple {3049#(= |ULTIMATE.start_main_~mid_index~0#1| |ULTIMATE.start_sll_circular_insert_~index#1|)} call sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset := node_create(sll_circular_insert_~data#1); {2965#true} is VALID [2022-02-20 16:55:48,774 INFO L290 TraceCheckUtils]: 21: Hoare triple {2965#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2965#true} is VALID [2022-02-20 16:55:48,774 INFO L290 TraceCheckUtils]: 22: Hoare triple {2965#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2965#true} is VALID [2022-02-20 16:55:48,775 INFO L290 TraceCheckUtils]: 23: Hoare triple {2965#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2965#true} is VALID [2022-02-20 16:55:48,775 INFO L290 TraceCheckUtils]: 24: Hoare triple {2965#true} assume true; {2965#true} is VALID [2022-02-20 16:55:48,775 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {2965#true} {3049#(= |ULTIMATE.start_main_~mid_index~0#1| |ULTIMATE.start_sll_circular_insert_~index#1|)} #141#return; {3049#(= |ULTIMATE.start_main_~mid_index~0#1| |ULTIMATE.start_sll_circular_insert_~index#1|)} is VALID [2022-02-20 16:55:48,776 INFO L290 TraceCheckUtils]: 26: Hoare triple {3049#(= |ULTIMATE.start_main_~mid_index~0#1| |ULTIMATE.start_sll_circular_insert_~index#1|)} sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset := sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := 0, 0;call sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset;havoc sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset; {3049#(= |ULTIMATE.start_main_~mid_index~0#1| |ULTIMATE.start_sll_circular_insert_~index#1|)} is VALID [2022-02-20 16:55:48,776 INFO L290 TraceCheckUtils]: 27: Hoare triple {3049#(= |ULTIMATE.start_main_~mid_index~0#1| |ULTIMATE.start_sll_circular_insert_~index#1|)} assume !!(sll_circular_insert_~index#1 > 0);sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;call sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset := read~$Pointer$(sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset;havoc sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset;sll_circular_insert_#t~post12#1 := sll_circular_insert_~index#1;sll_circular_insert_~index#1 := sll_circular_insert_#t~post12#1 - 1;havoc sll_circular_insert_#t~post12#1; {3074#(and (<= |ULTIMATE.start_main_~mid_index~0#1| (+ |ULTIMATE.start_sll_circular_insert_~index#1| 1)) (< 0 |ULTIMATE.start_main_~mid_index~0#1|))} is VALID [2022-02-20 16:55:48,776 INFO L290 TraceCheckUtils]: 28: Hoare triple {3074#(and (<= |ULTIMATE.start_main_~mid_index~0#1| (+ |ULTIMATE.start_sll_circular_insert_~index#1| 1)) (< 0 |ULTIMATE.start_main_~mid_index~0#1|))} assume !(sll_circular_insert_~index#1 > 0); {2985#(= |ULTIMATE.start_main_~mid_index~0#1| 1)} is VALID [2022-02-20 16:55:48,777 INFO L290 TraceCheckUtils]: 29: Hoare triple {2985#(= |ULTIMATE.start_main_~mid_index~0#1| 1)} assume sll_circular_insert_~snd_to_last~0#1.base != 0 || sll_circular_insert_~snd_to_last~0#1.offset != 0;call write~$Pointer$(sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset, 4);call write~$Pointer$(sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, 4); {2985#(= |ULTIMATE.start_main_~mid_index~0#1| 1)} is VALID [2022-02-20 16:55:48,777 INFO L290 TraceCheckUtils]: 30: Hoare triple {2985#(= |ULTIMATE.start_main_~mid_index~0#1| 1)} assume { :end_inline_sll_circular_insert } true;call main_#t~mem17#1.base, main_#t~mem17#1.offset := read~$Pointer$(main_~#s~0#1.base, main_~#s~0#1.offset, 4);main_~ptr~0#1.base, main_~ptr~0#1.offset := main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;main_~count~0#1 := 0; {2986#(and (= |ULTIMATE.start_main_~mid_index~0#1| 1) (= |ULTIMATE.start_main_~count~0#1| 0))} is VALID [2022-02-20 16:55:48,777 INFO L290 TraceCheckUtils]: 31: Hoare triple {2986#(and (= |ULTIMATE.start_main_~mid_index~0#1| 1) (= |ULTIMATE.start_main_~count~0#1| 0))} call main_#t~mem19#1 := read~int(main_~ptr~0#1.base, 4 + main_~ptr~0#1.offset, 4); {2986#(and (= |ULTIMATE.start_main_~mid_index~0#1| 1) (= |ULTIMATE.start_main_~count~0#1| 0))} is VALID [2022-02-20 16:55:48,778 INFO L290 TraceCheckUtils]: 32: Hoare triple {2986#(and (= |ULTIMATE.start_main_~mid_index~0#1| 1) (= |ULTIMATE.start_main_~count~0#1| 0))} assume !(main_~data~0#1 != main_#t~mem19#1);havoc main_#t~mem19#1;call main_#t~mem20#1.base, main_#t~mem20#1.offset := read~$Pointer$(main_~ptr~0#1.base, main_~ptr~0#1.offset, 4);main_~ptr~0#1.base, main_~ptr~0#1.offset := main_#t~mem20#1.base, main_#t~mem20#1.offset;havoc main_#t~mem20#1.base, main_#t~mem20#1.offset;main_#t~post21#1 := main_~count~0#1;main_~count~0#1 := 1 + main_#t~post21#1;havoc main_#t~post21#1; {2987#(and (= |ULTIMATE.start_main_~count~0#1| 1) (= |ULTIMATE.start_main_~count~0#1| |ULTIMATE.start_main_~mid_index~0#1|))} is VALID [2022-02-20 16:55:48,778 INFO L290 TraceCheckUtils]: 33: Hoare triple {2987#(and (= |ULTIMATE.start_main_~count~0#1| 1) (= |ULTIMATE.start_main_~count~0#1| |ULTIMATE.start_main_~mid_index~0#1|))} call main_#t~mem18#1.base, main_#t~mem18#1.offset := read~$Pointer$(main_~#s~0#1.base, main_~#s~0#1.offset, 4); {2987#(and (= |ULTIMATE.start_main_~count~0#1| 1) (= |ULTIMATE.start_main_~count~0#1| |ULTIMATE.start_main_~mid_index~0#1|))} is VALID [2022-02-20 16:55:48,778 INFO L290 TraceCheckUtils]: 34: Hoare triple {2987#(and (= |ULTIMATE.start_main_~count~0#1| 1) (= |ULTIMATE.start_main_~count~0#1| |ULTIMATE.start_main_~mid_index~0#1|))} assume !!((main_~ptr~0#1.base != main_#t~mem18#1.base || main_~ptr~0#1.offset != main_#t~mem18#1.offset) && main_~count~0#1 != main_~mid_index~0#1);havoc main_#t~mem18#1.base, main_#t~mem18#1.offset; {2966#false} is VALID [2022-02-20 16:55:48,779 INFO L290 TraceCheckUtils]: 35: Hoare triple {2966#false} call main_#t~mem19#1 := read~int(main_~ptr~0#1.base, 4 + main_~ptr~0#1.offset, 4); {2966#false} is VALID [2022-02-20 16:55:48,779 INFO L290 TraceCheckUtils]: 36: Hoare triple {2966#false} assume main_~data~0#1 != main_#t~mem19#1;havoc main_#t~mem19#1; {2966#false} is VALID [2022-02-20 16:55:48,779 INFO L290 TraceCheckUtils]: 37: Hoare triple {2966#false} assume !false; {2966#false} is VALID [2022-02-20 16:55:48,779 INFO L134 CoverageAnalysis]: Checked inductivity of 19 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-02-20 16:55:48,779 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:55:48,979 INFO L290 TraceCheckUtils]: 37: Hoare triple {2966#false} assume !false; {2966#false} is VALID [2022-02-20 16:55:48,979 INFO L290 TraceCheckUtils]: 36: Hoare triple {2966#false} assume main_~data~0#1 != main_#t~mem19#1;havoc main_#t~mem19#1; {2966#false} is VALID [2022-02-20 16:55:48,979 INFO L290 TraceCheckUtils]: 35: Hoare triple {2966#false} call main_#t~mem19#1 := read~int(main_~ptr~0#1.base, 4 + main_~ptr~0#1.offset, 4); {2966#false} is VALID [2022-02-20 16:55:48,979 INFO L290 TraceCheckUtils]: 34: Hoare triple {3114#(= |ULTIMATE.start_main_~count~0#1| |ULTIMATE.start_main_~mid_index~0#1|)} assume !!((main_~ptr~0#1.base != main_#t~mem18#1.base || main_~ptr~0#1.offset != main_#t~mem18#1.offset) && main_~count~0#1 != main_~mid_index~0#1);havoc main_#t~mem18#1.base, main_#t~mem18#1.offset; {2966#false} is VALID [2022-02-20 16:55:48,979 INFO L290 TraceCheckUtils]: 33: Hoare triple {3114#(= |ULTIMATE.start_main_~count~0#1| |ULTIMATE.start_main_~mid_index~0#1|)} call main_#t~mem18#1.base, main_#t~mem18#1.offset := read~$Pointer$(main_~#s~0#1.base, main_~#s~0#1.offset, 4); {3114#(= |ULTIMATE.start_main_~count~0#1| |ULTIMATE.start_main_~mid_index~0#1|)} is VALID [2022-02-20 16:55:48,980 INFO L290 TraceCheckUtils]: 32: Hoare triple {3121#(= (+ |ULTIMATE.start_main_~count~0#1| 1) |ULTIMATE.start_main_~mid_index~0#1|)} assume !(main_~data~0#1 != main_#t~mem19#1);havoc main_#t~mem19#1;call main_#t~mem20#1.base, main_#t~mem20#1.offset := read~$Pointer$(main_~ptr~0#1.base, main_~ptr~0#1.offset, 4);main_~ptr~0#1.base, main_~ptr~0#1.offset := main_#t~mem20#1.base, main_#t~mem20#1.offset;havoc main_#t~mem20#1.base, main_#t~mem20#1.offset;main_#t~post21#1 := main_~count~0#1;main_~count~0#1 := 1 + main_#t~post21#1;havoc main_#t~post21#1; {3114#(= |ULTIMATE.start_main_~count~0#1| |ULTIMATE.start_main_~mid_index~0#1|)} is VALID [2022-02-20 16:55:48,980 INFO L290 TraceCheckUtils]: 31: Hoare triple {3121#(= (+ |ULTIMATE.start_main_~count~0#1| 1) |ULTIMATE.start_main_~mid_index~0#1|)} call main_#t~mem19#1 := read~int(main_~ptr~0#1.base, 4 + main_~ptr~0#1.offset, 4); {3121#(= (+ |ULTIMATE.start_main_~count~0#1| 1) |ULTIMATE.start_main_~mid_index~0#1|)} is VALID [2022-02-20 16:55:48,981 INFO L290 TraceCheckUtils]: 30: Hoare triple {2985#(= |ULTIMATE.start_main_~mid_index~0#1| 1)} assume { :end_inline_sll_circular_insert } true;call main_#t~mem17#1.base, main_#t~mem17#1.offset := read~$Pointer$(main_~#s~0#1.base, main_~#s~0#1.offset, 4);main_~ptr~0#1.base, main_~ptr~0#1.offset := main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;main_~count~0#1 := 0; {3121#(= (+ |ULTIMATE.start_main_~count~0#1| 1) |ULTIMATE.start_main_~mid_index~0#1|)} is VALID [2022-02-20 16:55:48,981 INFO L290 TraceCheckUtils]: 29: Hoare triple {2985#(= |ULTIMATE.start_main_~mid_index~0#1| 1)} assume sll_circular_insert_~snd_to_last~0#1.base != 0 || sll_circular_insert_~snd_to_last~0#1.offset != 0;call write~$Pointer$(sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset, 4);call write~$Pointer$(sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, 4); {2985#(= |ULTIMATE.start_main_~mid_index~0#1| 1)} is VALID [2022-02-20 16:55:48,981 INFO L290 TraceCheckUtils]: 28: Hoare triple {3134#(or (= |ULTIMATE.start_main_~mid_index~0#1| 1) (< 0 |ULTIMATE.start_sll_circular_insert_~index#1|))} assume !(sll_circular_insert_~index#1 > 0); {2985#(= |ULTIMATE.start_main_~mid_index~0#1| 1)} is VALID [2022-02-20 16:55:48,982 INFO L290 TraceCheckUtils]: 27: Hoare triple {3138#(or (= |ULTIMATE.start_main_~mid_index~0#1| 1) (not (< 0 |ULTIMATE.start_sll_circular_insert_~index#1|)) (< 1 |ULTIMATE.start_sll_circular_insert_~index#1|))} assume !!(sll_circular_insert_~index#1 > 0);sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;call sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset := read~$Pointer$(sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset;havoc sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset;sll_circular_insert_#t~post12#1 := sll_circular_insert_~index#1;sll_circular_insert_~index#1 := sll_circular_insert_#t~post12#1 - 1;havoc sll_circular_insert_#t~post12#1; {3134#(or (= |ULTIMATE.start_main_~mid_index~0#1| 1) (< 0 |ULTIMATE.start_sll_circular_insert_~index#1|))} is VALID [2022-02-20 16:55:48,982 INFO L290 TraceCheckUtils]: 26: Hoare triple {3138#(or (= |ULTIMATE.start_main_~mid_index~0#1| 1) (not (< 0 |ULTIMATE.start_sll_circular_insert_~index#1|)) (< 1 |ULTIMATE.start_sll_circular_insert_~index#1|))} sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset := sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := 0, 0;call sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset;havoc sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset; {3138#(or (= |ULTIMATE.start_main_~mid_index~0#1| 1) (not (< 0 |ULTIMATE.start_sll_circular_insert_~index#1|)) (< 1 |ULTIMATE.start_sll_circular_insert_~index#1|))} is VALID [2022-02-20 16:55:48,983 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {2965#true} {3138#(or (= |ULTIMATE.start_main_~mid_index~0#1| 1) (not (< 0 |ULTIMATE.start_sll_circular_insert_~index#1|)) (< 1 |ULTIMATE.start_sll_circular_insert_~index#1|))} #141#return; {3138#(or (= |ULTIMATE.start_main_~mid_index~0#1| 1) (not (< 0 |ULTIMATE.start_sll_circular_insert_~index#1|)) (< 1 |ULTIMATE.start_sll_circular_insert_~index#1|))} is VALID [2022-02-20 16:55:48,983 INFO L290 TraceCheckUtils]: 24: Hoare triple {2965#true} assume true; {2965#true} is VALID [2022-02-20 16:55:48,983 INFO L290 TraceCheckUtils]: 23: Hoare triple {2965#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2965#true} is VALID [2022-02-20 16:55:48,983 INFO L290 TraceCheckUtils]: 22: Hoare triple {2965#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2965#true} is VALID [2022-02-20 16:55:48,983 INFO L290 TraceCheckUtils]: 21: Hoare triple {2965#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2965#true} is VALID [2022-02-20 16:55:48,983 INFO L272 TraceCheckUtils]: 20: Hoare triple {3138#(or (= |ULTIMATE.start_main_~mid_index~0#1| 1) (not (< 0 |ULTIMATE.start_sll_circular_insert_~index#1|)) (< 1 |ULTIMATE.start_sll_circular_insert_~index#1|))} call sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset := node_create(sll_circular_insert_~data#1); {2965#true} is VALID [2022-02-20 16:55:48,984 INFO L290 TraceCheckUtils]: 19: Hoare triple {2965#true} main_#t~ret16#1.base, main_#t~ret16#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret16#1.base, main_#t~ret16#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret16#1.base, main_#t~ret16#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_sll_circular_insert } true;sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset, sll_circular_insert_#in~data#1, sll_circular_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset, sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset, sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset, sll_circular_insert_#t~post12#1, sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset, sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset, sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset, sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, sll_circular_insert_~data#1, sll_circular_insert_~index#1, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset, sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset := sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset;sll_circular_insert_~data#1 := sll_circular_insert_#in~data#1;sll_circular_insert_~index#1 := sll_circular_insert_#in~index#1; {3138#(or (= |ULTIMATE.start_main_~mid_index~0#1| 1) (not (< 0 |ULTIMATE.start_sll_circular_insert_~index#1|)) (< 1 |ULTIMATE.start_sll_circular_insert_~index#1|))} is VALID [2022-02-20 16:55:48,984 INFO L290 TraceCheckUtils]: 18: Hoare triple {2965#true} call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4);sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {2965#true} is VALID [2022-02-20 16:55:48,984 INFO L290 TraceCheckUtils]: 17: Hoare triple {2965#true} assume !(sll_circular_create_~len#1 > 1); {2965#true} is VALID [2022-02-20 16:55:48,984 INFO L290 TraceCheckUtils]: 16: Hoare triple {2965#true} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4);sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := sll_circular_create_#t~post6#1 - 1;havoc sll_circular_create_#t~post6#1; {2965#true} is VALID [2022-02-20 16:55:48,984 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2965#true} {2965#true} #139#return; {2965#true} is VALID [2022-02-20 16:55:48,984 INFO L290 TraceCheckUtils]: 14: Hoare triple {2965#true} assume true; {2965#true} is VALID [2022-02-20 16:55:48,984 INFO L290 TraceCheckUtils]: 13: Hoare triple {2965#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2965#true} is VALID [2022-02-20 16:55:48,984 INFO L290 TraceCheckUtils]: 12: Hoare triple {2965#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2965#true} is VALID [2022-02-20 16:55:48,984 INFO L290 TraceCheckUtils]: 11: Hoare triple {2965#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2965#true} is VALID [2022-02-20 16:55:48,984 INFO L272 TraceCheckUtils]: 10: Hoare triple {2965#true} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {2965#true} is VALID [2022-02-20 16:55:48,984 INFO L290 TraceCheckUtils]: 9: Hoare triple {2965#true} assume !!(sll_circular_create_~len#1 > 1); {2965#true} is VALID [2022-02-20 16:55:48,985 INFO L290 TraceCheckUtils]: 8: Hoare triple {2965#true} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {2965#true} is VALID [2022-02-20 16:55:48,985 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {2965#true} {2965#true} #137#return; {2965#true} is VALID [2022-02-20 16:55:48,985 INFO L290 TraceCheckUtils]: 6: Hoare triple {2965#true} assume true; {2965#true} is VALID [2022-02-20 16:55:48,985 INFO L290 TraceCheckUtils]: 5: Hoare triple {2965#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2965#true} is VALID [2022-02-20 16:55:48,985 INFO L290 TraceCheckUtils]: 4: Hoare triple {2965#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2965#true} is VALID [2022-02-20 16:55:48,985 INFO L290 TraceCheckUtils]: 3: Hoare triple {2965#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2965#true} is VALID [2022-02-20 16:55:48,985 INFO L272 TraceCheckUtils]: 2: Hoare triple {2965#true} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {2965#true} is VALID [2022-02-20 16:55:48,985 INFO L290 TraceCheckUtils]: 1: Hoare triple {2965#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret16#1.base, main_#t~ret16#1.offset, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~post24#1, main_#t~mem26#1, main_#t~mem27#1.base, main_#t~mem27#1.offset, main_#t~post28#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_#t~mem29#1.base, main_#t~mem29#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {2965#true} is VALID [2022-02-20 16:55:48,985 INFO L290 TraceCheckUtils]: 0: Hoare triple {2965#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(23, 2); {2965#true} is VALID [2022-02-20 16:55:48,985 INFO L134 CoverageAnalysis]: Checked inductivity of 19 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-02-20 16:55:48,985 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1799931973] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:55:48,985 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 16:55:48,985 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 7, 7] total 15 [2022-02-20 16:55:48,986 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [135188110] [2022-02-20 16:55:48,986 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 16:55:48,986 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.933333333333333) internal successors, (44), 14 states have internal predecessors, (44), 5 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 38 [2022-02-20 16:55:48,986 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:55:48,986 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 2.933333333333333) internal successors, (44), 14 states have internal predecessors, (44), 5 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 16:55:49,033 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:49,033 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-02-20 16:55:49,034 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:55:49,034 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-02-20 16:55:49,034 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=169, Unknown=0, NotChecked=0, Total=210 [2022-02-20 16:55:49,035 INFO L87 Difference]: Start difference. First operand 47 states and 57 transitions. Second operand has 15 states, 15 states have (on average 2.933333333333333) internal successors, (44), 14 states have internal predecessors, (44), 5 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 16:55:49,498 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:49,498 INFO L93 Difference]: Finished difference Result 64 states and 76 transitions. [2022-02-20 16:55:49,498 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 16:55:49,498 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.933333333333333) internal successors, (44), 14 states have internal predecessors, (44), 5 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 38 [2022-02-20 16:55:49,498 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:55:49,499 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.933333333333333) internal successors, (44), 14 states have internal predecessors, (44), 5 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 16:55:49,499 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 63 transitions. [2022-02-20 16:55:49,500 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.933333333333333) internal successors, (44), 14 states have internal predecessors, (44), 5 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 16:55:49,500 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 63 transitions. [2022-02-20 16:55:49,500 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 63 transitions. [2022-02-20 16:55:49,548 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:49,549 INFO L225 Difference]: With dead ends: 64 [2022-02-20 16:55:49,549 INFO L226 Difference]: Without dead ends: 51 [2022-02-20 16:55:49,549 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 73 SyntacticMatches, 2 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 39 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=81, Invalid=261, Unknown=0, NotChecked=0, Total=342 [2022-02-20 16:55:49,550 INFO L933 BasicCegarLoop]: 31 mSDtfsCounter, 94 mSDsluCounter, 148 mSDsCounter, 0 mSdLazyCounter, 90 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 95 SdHoareTripleChecker+Valid, 179 SdHoareTripleChecker+Invalid, 110 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 90 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 16:55:49,550 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [95 Valid, 179 Invalid, 110 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 90 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 16:55:49,550 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-02-20 16:55:49,609 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 47. [2022-02-20 16:55:49,609 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:55:49,609 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 47 states, 40 states have (on average 1.15) internal successors, (46), 40 states have internal predecessors, (46), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 16:55:49,609 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 47 states, 40 states have (on average 1.15) internal successors, (46), 40 states have internal predecessors, (46), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 16:55:49,609 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 47 states, 40 states have (on average 1.15) internal successors, (46), 40 states have internal predecessors, (46), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 16:55:49,611 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:49,611 INFO L93 Difference]: Finished difference Result 51 states and 58 transitions. [2022-02-20 16:55:49,611 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 58 transitions. [2022-02-20 16:55:49,611 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:49,611 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:49,611 INFO L74 IsIncluded]: Start isIncluded. First operand has 47 states, 40 states have (on average 1.15) internal successors, (46), 40 states have internal predecessors, (46), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 51 states. [2022-02-20 16:55:49,611 INFO L87 Difference]: Start difference. First operand has 47 states, 40 states have (on average 1.15) internal successors, (46), 40 states have internal predecessors, (46), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 51 states. [2022-02-20 16:55:49,612 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:49,612 INFO L93 Difference]: Finished difference Result 51 states and 58 transitions. [2022-02-20 16:55:49,613 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 58 transitions. [2022-02-20 16:55:49,613 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:49,613 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:49,613 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:55:49,613 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:55:49,613 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 47 states, 40 states have (on average 1.15) internal successors, (46), 40 states have internal predecessors, (46), 5 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 16:55:49,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 56 transitions. [2022-02-20 16:55:49,614 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 56 transitions. Word has length 38 [2022-02-20 16:55:49,614 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:55:49,614 INFO L470 AbstractCegarLoop]: Abstraction has 47 states and 56 transitions. [2022-02-20 16:55:49,614 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 2.933333333333333) internal successors, (44), 14 states have internal predecessors, (44), 5 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 16:55:49,614 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 56 transitions. [2022-02-20 16:55:49,615 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-02-20 16:55:49,615 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:55:49,615 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:55:49,634 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-02-20 16:55:49,832 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:55:49,832 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:55:49,832 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:55:49,832 INFO L85 PathProgramCache]: Analyzing trace with hash 108212869, now seen corresponding path program 1 times [2022-02-20 16:55:49,832 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:55:49,833 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [568256274] [2022-02-20 16:55:49,833 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:49,833 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:55:49,856 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:50,071 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:55:50,074 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:50,077 INFO L290 TraceCheckUtils]: 0: Hoare triple {3512#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3483#true} is VALID [2022-02-20 16:55:50,078 INFO L290 TraceCheckUtils]: 1: Hoare triple {3483#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {3483#true} is VALID [2022-02-20 16:55:50,078 INFO L290 TraceCheckUtils]: 2: Hoare triple {3483#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3483#true} is VALID [2022-02-20 16:55:50,078 INFO L290 TraceCheckUtils]: 3: Hoare triple {3483#true} assume true; {3483#true} is VALID [2022-02-20 16:55:50,079 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {3483#true} {3485#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} #137#return; {3485#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} is VALID [2022-02-20 16:55:50,079 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-02-20 16:55:50,082 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:50,120 INFO L290 TraceCheckUtils]: 0: Hoare triple {3512#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3513#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|))} is VALID [2022-02-20 16:55:50,121 INFO L290 TraceCheckUtils]: 1: Hoare triple {3513#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {3513#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|))} is VALID [2022-02-20 16:55:50,121 INFO L290 TraceCheckUtils]: 2: Hoare triple {3513#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|))} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3514#(and (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (= (select |#valid| |node_create_#res#1.base|) 1))} is VALID [2022-02-20 16:55:50,122 INFO L290 TraceCheckUtils]: 3: Hoare triple {3514#(and (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (= (select |#valid| |node_create_#res#1.base|) 1))} assume true; {3514#(and (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (= (select |#valid| |node_create_#res#1.base|) 1))} is VALID [2022-02-20 16:55:50,123 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {3514#(and (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (= (select |#valid| |node_create_#res#1.base|) 1))} {3485#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} #139#return; {3496#(and (not (= |ULTIMATE.start_sll_circular_create_#t~ret5#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 16:55:50,123 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-02-20 16:55:50,128 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:50,222 INFO L290 TraceCheckUtils]: 0: Hoare triple {3512#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3515#(and (= |node_create_~data#1| |node_create_#in~data#1|) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |node_create_~temp~0#1.offset| 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 16:55:50,222 INFO L290 TraceCheckUtils]: 1: Hoare triple {3515#(and (= |node_create_~data#1| |node_create_#in~data#1|) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |node_create_~temp~0#1.offset| 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {3515#(and (= |node_create_~data#1| |node_create_#in~data#1|) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |node_create_~temp~0#1.offset| 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 16:55:50,223 INFO L290 TraceCheckUtils]: 2: Hoare triple {3515#(and (= |node_create_~data#1| |node_create_#in~data#1|) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |node_create_~temp~0#1.offset| 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3516#(and (<= 0 |node_create_#res#1.offset|) (= (select (select |#memory_int| |node_create_#res#1.base|) 4) |node_create_#in~data#1|) (<= |node_create_#res#1.offset| 0) (or (<= (+ (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= (select |old(#valid)| |node_create_#res#1.base|) 0) (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))} is VALID [2022-02-20 16:55:50,224 INFO L290 TraceCheckUtils]: 3: Hoare triple {3516#(and (<= 0 |node_create_#res#1.offset|) (= (select (select |#memory_int| |node_create_#res#1.base|) 4) |node_create_#in~data#1|) (<= |node_create_#res#1.offset| 0) (or (<= (+ (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= (select |old(#valid)| |node_create_#res#1.base|) 0) (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))} assume true; {3516#(and (<= 0 |node_create_#res#1.offset|) (= (select (select |#memory_int| |node_create_#res#1.base|) 4) |node_create_#in~data#1|) (<= |node_create_#res#1.offset| 0) (or (<= (+ (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= (select |old(#valid)| |node_create_#res#1.base|) 0) (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))} is VALID [2022-02-20 16:55:50,226 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {3516#(and (<= 0 |node_create_#res#1.offset|) (= (select (select |#memory_int| |node_create_#res#1.base|) 4) |node_create_#in~data#1|) (<= |node_create_#res#1.offset| 0) (or (<= (+ (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= (select |old(#valid)| |node_create_#res#1.base|) 0) (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))} {3499#(and (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 1) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_sll_circular_insert_~head#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_main_~uneq~0#1| |ULTIMATE.start_sll_circular_insert_~data#1|))} #141#return; {3505#(and (not (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_sll_circular_insert_#t~ret9#1.base|)) (= |ULTIMATE.start_sll_circular_insert_#t~ret9#1.offset| 0) (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|) (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| |ULTIMATE.start_sll_circular_insert_#t~ret9#1.base|) 4)) (not (= |ULTIMATE.start_sll_circular_insert_~head#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|) |ULTIMATE.start_sll_circular_insert_#t~ret9#1.base|)))} is VALID [2022-02-20 16:55:50,226 INFO L290 TraceCheckUtils]: 0: Hoare triple {3483#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(23, 2); {3483#true} is VALID [2022-02-20 16:55:50,227 INFO L290 TraceCheckUtils]: 1: Hoare triple {3483#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret16#1.base, main_#t~ret16#1.offset, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~post24#1, main_#t~mem26#1, main_#t~mem27#1.base, main_#t~mem27#1.offset, main_#t~post28#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_#t~mem29#1.base, main_#t~mem29#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {3485#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} is VALID [2022-02-20 16:55:50,228 INFO L272 TraceCheckUtils]: 2: Hoare triple {3485#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {3512#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:55:50,228 INFO L290 TraceCheckUtils]: 3: Hoare triple {3512#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3483#true} is VALID [2022-02-20 16:55:50,228 INFO L290 TraceCheckUtils]: 4: Hoare triple {3483#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {3483#true} is VALID [2022-02-20 16:55:50,228 INFO L290 TraceCheckUtils]: 5: Hoare triple {3483#true} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3483#true} is VALID [2022-02-20 16:55:50,228 INFO L290 TraceCheckUtils]: 6: Hoare triple {3483#true} assume true; {3483#true} is VALID [2022-02-20 16:55:50,229 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {3483#true} {3485#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} #137#return; {3485#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} is VALID [2022-02-20 16:55:50,229 INFO L290 TraceCheckUtils]: 8: Hoare triple {3485#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {3485#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} is VALID [2022-02-20 16:55:50,230 INFO L290 TraceCheckUtils]: 9: Hoare triple {3485#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} assume !!(sll_circular_create_~len#1 > 1); {3485#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} is VALID [2022-02-20 16:55:50,230 INFO L272 TraceCheckUtils]: 10: Hoare triple {3485#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {3512#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:55:50,231 INFO L290 TraceCheckUtils]: 11: Hoare triple {3512#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3513#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|))} is VALID [2022-02-20 16:55:50,231 INFO L290 TraceCheckUtils]: 12: Hoare triple {3513#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {3513#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|))} is VALID [2022-02-20 16:55:50,232 INFO L290 TraceCheckUtils]: 13: Hoare triple {3513#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|))} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3514#(and (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (= (select |#valid| |node_create_#res#1.base|) 1))} is VALID [2022-02-20 16:55:50,232 INFO L290 TraceCheckUtils]: 14: Hoare triple {3514#(and (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (= (select |#valid| |node_create_#res#1.base|) 1))} assume true; {3514#(and (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (= (select |#valid| |node_create_#res#1.base|) 1))} is VALID [2022-02-20 16:55:50,233 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3514#(and (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (= (select |#valid| |node_create_#res#1.base|) 1))} {3485#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} #139#return; {3496#(and (not (= |ULTIMATE.start_sll_circular_create_#t~ret5#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 16:55:50,234 INFO L290 TraceCheckUtils]: 16: Hoare triple {3496#(and (not (= |ULTIMATE.start_sll_circular_create_#t~ret5#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4);sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := sll_circular_create_#t~post6#1 - 1;havoc sll_circular_create_#t~post6#1; {3497#(and (not (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 16:55:50,235 INFO L290 TraceCheckUtils]: 17: Hoare triple {3497#(and (not (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} assume !(sll_circular_create_~len#1 > 1); {3497#(and (not (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 16:55:50,235 INFO L290 TraceCheckUtils]: 18: Hoare triple {3497#(and (not (= |ULTIMATE.start_sll_circular_create_~head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4);sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {3498#(and (= (select |#valid| |ULTIMATE.start_sll_circular_create_#res#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_sll_circular_create_#res#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 16:55:50,236 INFO L290 TraceCheckUtils]: 19: Hoare triple {3498#(and (= (select |#valid| |ULTIMATE.start_sll_circular_create_#res#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_sll_circular_create_#res#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} main_#t~ret16#1.base, main_#t~ret16#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret16#1.base, main_#t~ret16#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret16#1.base, main_#t~ret16#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_sll_circular_insert } true;sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset, sll_circular_insert_#in~data#1, sll_circular_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset, sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset, sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset, sll_circular_insert_#t~post12#1, sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset, sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset, sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset, sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, sll_circular_insert_~data#1, sll_circular_insert_~index#1, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset, sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset := sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset;sll_circular_insert_~data#1 := sll_circular_insert_#in~data#1;sll_circular_insert_~index#1 := sll_circular_insert_#in~index#1; {3499#(and (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 1) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_sll_circular_insert_~head#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_main_~uneq~0#1| |ULTIMATE.start_sll_circular_insert_~data#1|))} is VALID [2022-02-20 16:55:50,237 INFO L272 TraceCheckUtils]: 20: Hoare triple {3499#(and (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 1) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_sll_circular_insert_~head#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_main_~uneq~0#1| |ULTIMATE.start_sll_circular_insert_~data#1|))} call sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset := node_create(sll_circular_insert_~data#1); {3512#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:55:50,238 INFO L290 TraceCheckUtils]: 21: Hoare triple {3512#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3515#(and (= |node_create_~data#1| |node_create_#in~data#1|) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |node_create_~temp~0#1.offset| 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 16:55:50,238 INFO L290 TraceCheckUtils]: 22: Hoare triple {3515#(and (= |node_create_~data#1| |node_create_#in~data#1|) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |node_create_~temp~0#1.offset| 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {3515#(and (= |node_create_~data#1| |node_create_#in~data#1|) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |node_create_~temp~0#1.offset| 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 16:55:50,239 INFO L290 TraceCheckUtils]: 23: Hoare triple {3515#(and (= |node_create_~data#1| |node_create_#in~data#1|) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |node_create_~temp~0#1.offset| 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3516#(and (<= 0 |node_create_#res#1.offset|) (= (select (select |#memory_int| |node_create_#res#1.base|) 4) |node_create_#in~data#1|) (<= |node_create_#res#1.offset| 0) (or (<= (+ (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= (select |old(#valid)| |node_create_#res#1.base|) 0) (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))} is VALID [2022-02-20 16:55:50,240 INFO L290 TraceCheckUtils]: 24: Hoare triple {3516#(and (<= 0 |node_create_#res#1.offset|) (= (select (select |#memory_int| |node_create_#res#1.base|) 4) |node_create_#in~data#1|) (<= |node_create_#res#1.offset| 0) (or (<= (+ (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= (select |old(#valid)| |node_create_#res#1.base|) 0) (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))} assume true; {3516#(and (<= 0 |node_create_#res#1.offset|) (= (select (select |#memory_int| |node_create_#res#1.base|) 4) |node_create_#in~data#1|) (<= |node_create_#res#1.offset| 0) (or (<= (+ (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= (select |old(#valid)| |node_create_#res#1.base|) 0) (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))} is VALID [2022-02-20 16:55:50,242 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {3516#(and (<= 0 |node_create_#res#1.offset|) (= (select (select |#memory_int| |node_create_#res#1.base|) 4) |node_create_#in~data#1|) (<= |node_create_#res#1.offset| 0) (or (<= (+ (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= (select |old(#valid)| |node_create_#res#1.base|) 0) (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))} {3499#(and (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 1) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_sll_circular_insert_~head#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_main_~uneq~0#1| |ULTIMATE.start_sll_circular_insert_~data#1|))} #141#return; {3505#(and (not (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_sll_circular_insert_#t~ret9#1.base|)) (= |ULTIMATE.start_sll_circular_insert_#t~ret9#1.offset| 0) (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|) (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| |ULTIMATE.start_sll_circular_insert_#t~ret9#1.base|) 4)) (not (= |ULTIMATE.start_sll_circular_insert_~head#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|) |ULTIMATE.start_sll_circular_insert_#t~ret9#1.base|)))} is VALID [2022-02-20 16:55:50,242 INFO L290 TraceCheckUtils]: 26: Hoare triple {3505#(and (not (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_sll_circular_insert_#t~ret9#1.base|)) (= |ULTIMATE.start_sll_circular_insert_#t~ret9#1.offset| 0) (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|) (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| |ULTIMATE.start_sll_circular_insert_#t~ret9#1.base|) 4)) (not (= |ULTIMATE.start_sll_circular_insert_~head#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_sll_circular_insert_~head#1.base|) |ULTIMATE.start_sll_circular_insert_~head#1.offset|) |ULTIMATE.start_sll_circular_insert_#t~ret9#1.base|)))} sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset := sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := 0, 0;call sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset;havoc sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset; {3506#(and (not (= |ULTIMATE.start_sll_circular_insert_~last~1#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.offset| 0) (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base|) 4)) (= |ULTIMATE.start_sll_circular_insert_~last~1#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) |ULTIMATE.start_sll_circular_insert_~last~1#1.offset|) (not (= |ULTIMATE.start_sll_circular_insert_~last~1#1.base| |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base|)) (not (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 16:55:50,243 INFO L290 TraceCheckUtils]: 27: Hoare triple {3506#(and (not (= |ULTIMATE.start_sll_circular_insert_~last~1#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.offset| 0) (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base|) 4)) (= |ULTIMATE.start_sll_circular_insert_~last~1#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) |ULTIMATE.start_sll_circular_insert_~last~1#1.offset|) (not (= |ULTIMATE.start_sll_circular_insert_~last~1#1.base| |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base|)) (not (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} assume !!(sll_circular_insert_~index#1 > 0);sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;call sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset := read~$Pointer$(sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset;havoc sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset;sll_circular_insert_#t~post12#1 := sll_circular_insert_~index#1;sll_circular_insert_~index#1 := sll_circular_insert_#t~post12#1 - 1;havoc sll_circular_insert_#t~post12#1; {3507#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset|) (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.offset| 0) (not (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base|)) (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base|) 4)) (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (not (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (not (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 16:55:50,244 INFO L290 TraceCheckUtils]: 28: Hoare triple {3507#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset|) (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.offset| 0) (not (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base|)) (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base|) 4)) (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (not (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (not (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} assume !(sll_circular_insert_~index#1 > 0); {3507#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset|) (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.offset| 0) (not (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base|)) (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base|) 4)) (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (not (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (not (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 16:55:50,245 INFO L290 TraceCheckUtils]: 29: Hoare triple {3507#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset|) (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.offset| 0) (not (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base|)) (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base|) 4)) (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (not (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (not (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} assume sll_circular_insert_~snd_to_last~0#1.base != 0 || sll_circular_insert_~snd_to_last~0#1.offset != 0;call write~$Pointer$(sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset, 4);call write~$Pointer$(sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, 4); {3508#(and (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) 4)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 0))} is VALID [2022-02-20 16:55:50,245 INFO L290 TraceCheckUtils]: 30: Hoare triple {3508#(and (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) 4)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 0))} assume { :end_inline_sll_circular_insert } true;call main_#t~mem17#1.base, main_#t~mem17#1.offset := read~$Pointer$(main_~#s~0#1.base, main_~#s~0#1.offset, 4);main_~ptr~0#1.base, main_~ptr~0#1.offset := main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;main_~count~0#1 := 0; {3509#(and (= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~ptr~0#1.base|) |ULTIMATE.start_main_~ptr~0#1.offset|)) (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~ptr~0#1.base|) |ULTIMATE.start_main_~ptr~0#1.offset|)) 4)))} is VALID [2022-02-20 16:55:50,246 INFO L290 TraceCheckUtils]: 31: Hoare triple {3509#(and (= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~ptr~0#1.base|) |ULTIMATE.start_main_~ptr~0#1.offset|)) (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~ptr~0#1.base|) |ULTIMATE.start_main_~ptr~0#1.offset|)) 4)))} call main_#t~mem19#1 := read~int(main_~ptr~0#1.base, 4 + main_~ptr~0#1.offset, 4); {3509#(and (= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~ptr~0#1.base|) |ULTIMATE.start_main_~ptr~0#1.offset|)) (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~ptr~0#1.base|) |ULTIMATE.start_main_~ptr~0#1.offset|)) 4)))} is VALID [2022-02-20 16:55:50,246 INFO L290 TraceCheckUtils]: 32: Hoare triple {3509#(and (= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~ptr~0#1.base|) |ULTIMATE.start_main_~ptr~0#1.offset|)) (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~ptr~0#1.base|) |ULTIMATE.start_main_~ptr~0#1.offset|)) 4)))} assume !(main_~data~0#1 != main_#t~mem19#1);havoc main_#t~mem19#1;call main_#t~mem20#1.base, main_#t~mem20#1.offset := read~$Pointer$(main_~ptr~0#1.base, main_~ptr~0#1.offset, 4);main_~ptr~0#1.base, main_~ptr~0#1.offset := main_#t~mem20#1.base, main_#t~mem20#1.offset;havoc main_#t~mem20#1.base, main_#t~mem20#1.offset;main_#t~post21#1 := main_~count~0#1;main_~count~0#1 := 1 + main_#t~post21#1;havoc main_#t~post21#1; {3510#(and (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~ptr~0#1.base|) (+ |ULTIMATE.start_main_~ptr~0#1.offset| 4))) (= |ULTIMATE.start_main_~ptr~0#1.offset| 0))} is VALID [2022-02-20 16:55:50,247 INFO L290 TraceCheckUtils]: 33: Hoare triple {3510#(and (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~ptr~0#1.base|) (+ |ULTIMATE.start_main_~ptr~0#1.offset| 4))) (= |ULTIMATE.start_main_~ptr~0#1.offset| 0))} call main_#t~mem18#1.base, main_#t~mem18#1.offset := read~$Pointer$(main_~#s~0#1.base, main_~#s~0#1.offset, 4); {3510#(and (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~ptr~0#1.base|) (+ |ULTIMATE.start_main_~ptr~0#1.offset| 4))) (= |ULTIMATE.start_main_~ptr~0#1.offset| 0))} is VALID [2022-02-20 16:55:50,247 INFO L290 TraceCheckUtils]: 34: Hoare triple {3510#(and (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~ptr~0#1.base|) (+ |ULTIMATE.start_main_~ptr~0#1.offset| 4))) (= |ULTIMATE.start_main_~ptr~0#1.offset| 0))} assume !((main_~ptr~0#1.base != main_#t~mem18#1.base || main_~ptr~0#1.offset != main_#t~mem18#1.offset) && main_~count~0#1 != main_~mid_index~0#1);havoc main_#t~mem18#1.base, main_#t~mem18#1.offset; {3510#(and (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~ptr~0#1.base|) (+ |ULTIMATE.start_main_~ptr~0#1.offset| 4))) (= |ULTIMATE.start_main_~ptr~0#1.offset| 0))} is VALID [2022-02-20 16:55:50,248 INFO L290 TraceCheckUtils]: 35: Hoare triple {3510#(and (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~ptr~0#1.base|) (+ |ULTIMATE.start_main_~ptr~0#1.offset| 4))) (= |ULTIMATE.start_main_~ptr~0#1.offset| 0))} call main_#t~mem22#1 := read~int(main_~ptr~0#1.base, 4 + main_~ptr~0#1.offset, 4); {3511#(= |ULTIMATE.start_main_~uneq~0#1| |ULTIMATE.start_main_#t~mem22#1|)} is VALID [2022-02-20 16:55:50,248 INFO L290 TraceCheckUtils]: 36: Hoare triple {3511#(= |ULTIMATE.start_main_~uneq~0#1| |ULTIMATE.start_main_#t~mem22#1|)} assume main_~uneq~0#1 != main_#t~mem22#1;havoc main_#t~mem22#1; {3484#false} is VALID [2022-02-20 16:55:50,248 INFO L290 TraceCheckUtils]: 37: Hoare triple {3484#false} assume !false; {3484#false} is VALID [2022-02-20 16:55:50,248 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 9 proven. 5 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-02-20 16:55:50,248 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:55:50,249 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [568256274] [2022-02-20 16:55:50,249 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [568256274] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:55:50,249 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1523661869] [2022-02-20 16:55:50,249 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:50,249 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:55:50,249 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:55:50,250 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) [2022-02-20 16:55:50,283 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-02-20 16:55:50,454 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:50,457 INFO L263 TraceCheckSpWp]: Trace formula consists of 363 conjuncts, 112 conjunts are in the unsatisfiable core [2022-02-20 16:55:50,476 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:50,477 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:55:50,620 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 16:55:50,920 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 11 [2022-02-20 16:55:50,934 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 5 treesize of output 3 [2022-02-20 16:55:51,047 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2022-02-20 16:55:51,163 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:55:51,164 INFO L390 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 0 case distinctions, treesize of input 25 treesize of output 25 [2022-02-20 16:55:51,175 INFO L356 Elim1Store]: treesize reduction 4, result has 66.7 percent of original size [2022-02-20 16:55:51,175 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 15 treesize of output 15 [2022-02-20 16:55:51,189 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 16:55:51,496 INFO L356 Elim1Store]: treesize reduction 33, result has 17.5 percent of original size [2022-02-20 16:55:51,496 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 95 treesize of output 72 [2022-02-20 16:55:51,528 INFO L356 Elim1Store]: treesize reduction 36, result has 23.4 percent of original size [2022-02-20 16:55:51,528 INFO L390 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 4 new quantified variables, introduced 3 case distinctions, treesize of input 171 treesize of output 134 [2022-02-20 16:55:51,543 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:55:51,554 INFO L390 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 0 case distinctions, treesize of input 62 treesize of output 35 [2022-02-20 16:55:51,566 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:55:51,568 INFO L390 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 3 new quantified variables, introduced 0 case distinctions, treesize of input 96 treesize of output 81 [2022-02-20 16:55:51,582 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:55:51,598 INFO L356 Elim1Store]: treesize reduction 40, result has 27.3 percent of original size [2022-02-20 16:55:51,598 INFO L390 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 91 treesize of output 91 [2022-02-20 16:55:51,611 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 42 [2022-02-20 16:55:51,897 INFO L356 Elim1Store]: treesize reduction 15, result has 6.3 percent of original size [2022-02-20 16:55:51,898 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 111 treesize of output 50 [2022-02-20 16:55:51,941 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:55:51,941 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 10 [2022-02-20 16:55:52,027 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 7 [2022-02-20 16:55:52,030 INFO L290 TraceCheckUtils]: 0: Hoare triple {3483#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(23, 2); {3483#true} is VALID [2022-02-20 16:55:52,030 INFO L290 TraceCheckUtils]: 1: Hoare triple {3483#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret16#1.base, main_#t~ret16#1.offset, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~post24#1, main_#t~mem26#1, main_#t~mem27#1.base, main_#t~mem27#1.offset, main_#t~post28#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_#t~mem29#1.base, main_#t~mem29#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_sll_circular_create } true;sll_circular_create_#in~len#1, sll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset, sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset, sll_circular_create_#t~post6#1, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, sll_circular_create_~len#1, sll_circular_create_~data#1, sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset;sll_circular_create_~len#1 := sll_circular_create_#in~len#1;sll_circular_create_~data#1 := sll_circular_create_#in~data#1; {3523#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 16:55:52,030 INFO L272 TraceCheckUtils]: 2: Hoare triple {3523#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} call sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset := node_create(sll_circular_create_~data#1); {3483#true} is VALID [2022-02-20 16:55:52,031 INFO L290 TraceCheckUtils]: 3: Hoare triple {3483#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3530#(= |node_create_~temp~0#1.offset| 0)} is VALID [2022-02-20 16:55:52,031 INFO L290 TraceCheckUtils]: 4: Hoare triple {3530#(= |node_create_~temp~0#1.offset| 0)} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {3530#(= |node_create_~temp~0#1.offset| 0)} is VALID [2022-02-20 16:55:52,032 INFO L290 TraceCheckUtils]: 5: Hoare triple {3530#(= |node_create_~temp~0#1.offset| 0)} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3537#(= 0 |node_create_#res#1.offset|)} is VALID [2022-02-20 16:55:52,032 INFO L290 TraceCheckUtils]: 6: Hoare triple {3537#(= 0 |node_create_#res#1.offset|)} assume true; {3537#(= 0 |node_create_#res#1.offset|)} is VALID [2022-02-20 16:55:52,033 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {3537#(= 0 |node_create_#res#1.offset|)} {3523#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} #137#return; {3544#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= |ULTIMATE.start_sll_circular_create_#t~ret4#1.offset| 0))} is VALID [2022-02-20 16:55:52,033 INFO L290 TraceCheckUtils]: 8: Hoare triple {3544#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= |ULTIMATE.start_sll_circular_create_#t~ret4#1.offset| 0))} sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;havoc sll_circular_create_#t~ret4#1.base, sll_circular_create_#t~ret4#1.offset;sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {3548#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_sll_circular_create_~head~0#1.offset| 0) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 16:55:52,034 INFO L290 TraceCheckUtils]: 9: Hoare triple {3548#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_sll_circular_create_~head~0#1.offset| 0) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} assume !!(sll_circular_create_~len#1 > 1); {3548#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_sll_circular_create_~head~0#1.offset| 0) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 16:55:52,034 INFO L272 TraceCheckUtils]: 10: Hoare triple {3548#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_sll_circular_create_~head~0#1.offset| 0) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} call sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset := node_create(sll_circular_create_~data#1); {3483#true} is VALID [2022-02-20 16:55:52,034 INFO L290 TraceCheckUtils]: 11: Hoare triple {3483#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3513#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|))} is VALID [2022-02-20 16:55:52,035 INFO L290 TraceCheckUtils]: 12: Hoare triple {3513#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {3513#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|))} is VALID [2022-02-20 16:55:52,035 INFO L290 TraceCheckUtils]: 13: Hoare triple {3513#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|))} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3514#(and (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (= (select |#valid| |node_create_#res#1.base|) 1))} is VALID [2022-02-20 16:55:52,036 INFO L290 TraceCheckUtils]: 14: Hoare triple {3514#(and (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (= (select |#valid| |node_create_#res#1.base|) 1))} assume true; {3514#(and (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (= (select |#valid| |node_create_#res#1.base|) 1))} is VALID [2022-02-20 16:55:52,036 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3514#(and (<= (+ |node_create_#res#1.base| 1) |#StackHeapBarrier|) (= (select |#valid| |node_create_#res#1.base|) 1))} {3548#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_sll_circular_create_~head~0#1.offset| 0) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} #139#return; {3570#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_sll_circular_create_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 1) (<= (+ |ULTIMATE.start_sll_circular_create_#t~ret5#1.base| 1) |#StackHeapBarrier|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 16:55:52,037 INFO L290 TraceCheckUtils]: 16: Hoare triple {3570#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_sll_circular_create_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 1) (<= (+ |ULTIMATE.start_sll_circular_create_#t~ret5#1.base| 1) |#StackHeapBarrier|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset := sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;havoc sll_circular_create_#t~ret5#1.base, sll_circular_create_#t~ret5#1.offset;call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset, 4);sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset := sll_circular_create_~new_head~0#1.base, sll_circular_create_~new_head~0#1.offset;sll_circular_create_#t~post6#1 := sll_circular_create_~len#1;sll_circular_create_~len#1 := sll_circular_create_#t~post6#1 - 1;havoc sll_circular_create_#t~post6#1; {3574#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (<= (+ |ULTIMATE.start_sll_circular_create_~head~0#1.base| 1) |#StackHeapBarrier|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 16:55:52,037 INFO L290 TraceCheckUtils]: 17: Hoare triple {3574#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (<= (+ |ULTIMATE.start_sll_circular_create_~head~0#1.base| 1) |#StackHeapBarrier|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} assume !(sll_circular_create_~len#1 > 1); {3574#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (<= (+ |ULTIMATE.start_sll_circular_create_~head~0#1.base| 1) |#StackHeapBarrier|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 16:55:52,038 INFO L290 TraceCheckUtils]: 18: Hoare triple {3574#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (<= (+ |ULTIMATE.start_sll_circular_create_~head~0#1.base| 1) |#StackHeapBarrier|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_~head~0#1.base|) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} call write~$Pointer$(sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset, sll_circular_create_~last~0#1.base, sll_circular_create_~last~0#1.offset, 4);sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset := sll_circular_create_~head~0#1.base, sll_circular_create_~head~0#1.offset; {3581#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_#res#1.base|) 1) (<= (+ |ULTIMATE.start_sll_circular_create_#res#1.base| 1) |#StackHeapBarrier|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 16:55:52,039 INFO L290 TraceCheckUtils]: 19: Hoare triple {3581#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_sll_circular_create_#res#1.base|) 1) (<= (+ |ULTIMATE.start_sll_circular_create_#res#1.base| 1) |#StackHeapBarrier|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} main_#t~ret16#1.base, main_#t~ret16#1.offset := sll_circular_create_#res#1.base, sll_circular_create_#res#1.offset;assume { :end_inline_sll_circular_create } true;call write~init~$Pointer$(main_#t~ret16#1.base, main_#t~ret16#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret16#1.base, main_#t~ret16#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_sll_circular_insert } true;sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset, sll_circular_insert_#in~data#1, sll_circular_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset, sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset, sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset, sll_circular_insert_#t~post12#1, sll_circular_insert_#t~mem13#1.base, sll_circular_insert_#t~mem13#1.offset, sll_circular_insert_#t~mem14#1.base, sll_circular_insert_#t~mem14#1.offset, sll_circular_insert_#t~mem15#1.base, sll_circular_insert_#t~mem15#1.offset, sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, sll_circular_insert_~data#1, sll_circular_insert_~index#1, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset, sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset := sll_circular_insert_#in~head#1.base, sll_circular_insert_#in~head#1.offset;sll_circular_insert_~data#1 := sll_circular_insert_#in~data#1;sll_circular_insert_~index#1 := sll_circular_insert_#in~index#1; {3585#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (<= (+ (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 1) |#StackHeapBarrier|) (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 1) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|) (= |ULTIMATE.start_main_~uneq~0#1| |ULTIMATE.start_sll_circular_insert_~data#1|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 16:55:52,040 INFO L272 TraceCheckUtils]: 20: Hoare triple {3585#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (<= (+ (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 1) |#StackHeapBarrier|) (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 1) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|) (= |ULTIMATE.start_main_~uneq~0#1| |ULTIMATE.start_sll_circular_insert_~data#1|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} call sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset := node_create(sll_circular_insert_~data#1); {3589#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:55:52,041 INFO L290 TraceCheckUtils]: 21: Hoare triple {3589#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(8);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3593#(and (< |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= |node_create_~data#1| |node_create_#in~data#1|) (= |node_create_~temp~0#1.offset| 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 16:55:52,041 INFO L290 TraceCheckUtils]: 22: Hoare triple {3593#(and (< |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= |node_create_~data#1| |node_create_#in~data#1|) (= |node_create_~temp~0#1.offset| 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {3593#(and (< |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= |node_create_~data#1| |node_create_#in~data#1|) (= |node_create_~temp~0#1.offset| 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 16:55:52,042 INFO L290 TraceCheckUtils]: 23: Hoare triple {3593#(and (< |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= |node_create_~data#1| |node_create_#in~data#1|) (= |node_create_~temp~0#1.offset| 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4);call write~int(~data#1, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4);#res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3600#(and (< |node_create_#res#1.base| |#StackHeapBarrier|) (exists ((v_ArrVal_1558 (Array Int Int))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |node_create_#res#1.base| v_ArrVal_1558))) (= (select |old(#valid)| |node_create_#res#1.base|) 0) (exists ((v_ArrVal_1557 (Array Int Int))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| |node_create_#res#1.base| v_ArrVal_1557))) (= (select (select |#memory_int| |node_create_#res#1.base|) (+ 4 |node_create_#res#1.offset|)) |node_create_#in~data#1|) (= 0 |node_create_#res#1.offset|))} is VALID [2022-02-20 16:55:52,043 INFO L290 TraceCheckUtils]: 24: Hoare triple {3600#(and (< |node_create_#res#1.base| |#StackHeapBarrier|) (exists ((v_ArrVal_1558 (Array Int Int))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |node_create_#res#1.base| v_ArrVal_1558))) (= (select |old(#valid)| |node_create_#res#1.base|) 0) (exists ((v_ArrVal_1557 (Array Int Int))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| |node_create_#res#1.base| v_ArrVal_1557))) (= (select (select |#memory_int| |node_create_#res#1.base|) (+ 4 |node_create_#res#1.offset|)) |node_create_#in~data#1|) (= 0 |node_create_#res#1.offset|))} assume true; {3600#(and (< |node_create_#res#1.base| |#StackHeapBarrier|) (exists ((v_ArrVal_1558 (Array Int Int))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |node_create_#res#1.base| v_ArrVal_1558))) (= (select |old(#valid)| |node_create_#res#1.base|) 0) (exists ((v_ArrVal_1557 (Array Int Int))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| |node_create_#res#1.base| v_ArrVal_1557))) (= (select (select |#memory_int| |node_create_#res#1.base|) (+ 4 |node_create_#res#1.offset|)) |node_create_#in~data#1|) (= 0 |node_create_#res#1.offset|))} is VALID [2022-02-20 16:55:52,045 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {3600#(and (< |node_create_#res#1.base| |#StackHeapBarrier|) (exists ((v_ArrVal_1558 (Array Int Int))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |node_create_#res#1.base| v_ArrVal_1558))) (= (select |old(#valid)| |node_create_#res#1.base|) 0) (exists ((v_ArrVal_1557 (Array Int Int))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| |node_create_#res#1.base| v_ArrVal_1557))) (= (select (select |#memory_int| |node_create_#res#1.base|) (+ 4 |node_create_#res#1.offset|)) |node_create_#in~data#1|) (= 0 |node_create_#res#1.offset|))} {3585#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (<= (+ (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 1) |#StackHeapBarrier|) (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 1) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|) (= |ULTIMATE.start_main_~uneq~0#1| |ULTIMATE.start_sll_circular_insert_~data#1|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} #141#return; {3607#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) |ULTIMATE.start_sll_circular_insert_#t~ret9#1.base|)) (= |ULTIMATE.start_sll_circular_insert_#t~ret9#1.offset| 0) (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|) (< (+ |ULTIMATE.start_sll_circular_insert_#t~ret9#1.base| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| |ULTIMATE.start_sll_circular_insert_#t~ret9#1.base|) 4)) (< (+ (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 16:55:52,046 INFO L290 TraceCheckUtils]: 26: Hoare triple {3607#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) |ULTIMATE.start_sll_circular_insert_#t~ret9#1.base|)) (= |ULTIMATE.start_sll_circular_insert_#t~ret9#1.offset| 0) (= |ULTIMATE.start_sll_circular_insert_~head#1.base| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_sll_circular_insert_~head#1.offset| |ULTIMATE.start_main_~#s~0#1.offset|) (< (+ |ULTIMATE.start_sll_circular_insert_#t~ret9#1.base| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| |ULTIMATE.start_sll_circular_insert_#t~ret9#1.base|) 4)) (< (+ (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset := sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;havoc sll_circular_insert_#t~ret9#1.base, sll_circular_insert_#t~ret9#1.offset;sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := 0, 0;call sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset := read~$Pointer$(sll_circular_insert_~head#1.base, sll_circular_insert_~head#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset;havoc sll_circular_insert_#t~mem10#1.base, sll_circular_insert_#t~mem10#1.offset; {3611#(and (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.offset| 0) (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base|) 4)) (= |ULTIMATE.start_sll_circular_insert_~last~1#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (not (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) |ULTIMATE.start_sll_circular_insert_~last~1#1.offset|) (< (+ (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (< (+ |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 16:55:52,046 INFO L290 TraceCheckUtils]: 27: Hoare triple {3611#(and (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.offset| 0) (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base|) 4)) (= |ULTIMATE.start_sll_circular_insert_~last~1#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (not (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) |ULTIMATE.start_sll_circular_insert_~last~1#1.offset|) (< (+ (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (< (+ |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| 1) |ULTIMATE.start_main_~#s~0#1.base|))} assume !!(sll_circular_insert_~index#1 > 0);sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset := sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset;call sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset := read~$Pointer$(sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset, 4);sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset := sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset;havoc sll_circular_insert_#t~mem11#1.base, sll_circular_insert_#t~mem11#1.offset;sll_circular_insert_#t~post12#1 := sll_circular_insert_~index#1;sll_circular_insert_~index#1 := sll_circular_insert_#t~post12#1 - 1;havoc sll_circular_insert_#t~post12#1; {3615#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset|) (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.offset| 0) (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base|) 4)) (not (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (< (+ (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (< (+ |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 16:55:52,047 INFO L290 TraceCheckUtils]: 28: Hoare triple {3615#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset|) (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.offset| 0) (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base|) 4)) (not (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (< (+ (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (< (+ |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| 1) |ULTIMATE.start_main_~#s~0#1.base|))} assume !(sll_circular_insert_~index#1 > 0); {3615#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset|) (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.offset| 0) (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base|) 4)) (not (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (< (+ (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (< (+ |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 16:55:52,048 INFO L290 TraceCheckUtils]: 29: Hoare triple {3615#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset|) (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.offset| 0) (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base|) 4)) (not (= |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (< (+ (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (< (+ |ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| 1) |ULTIMATE.start_main_~#s~0#1.base|))} assume sll_circular_insert_~snd_to_last~0#1.base != 0 || sll_circular_insert_~snd_to_last~0#1.offset != 0;call write~$Pointer$(sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, sll_circular_insert_~snd_to_last~0#1.base, sll_circular_insert_~snd_to_last~0#1.offset, 4);call write~$Pointer$(sll_circular_insert_~last~1#1.base, sll_circular_insert_~last~1#1.offset, sll_circular_insert_~new_node~0#1.base, sll_circular_insert_~new_node~0#1.offset, 4); {3622#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) 4)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 0) (< (+ (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 1) |ULTIMATE.start_main_~#s~0#1.base|) (< (+ (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 16:55:52,050 INFO L290 TraceCheckUtils]: 30: Hoare triple {3622#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|))) 4)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 0) (< (+ (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) 1) |ULTIMATE.start_main_~#s~0#1.base|) (< (+ (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} assume { :end_inline_sll_circular_insert } true;call main_#t~mem17#1.base, main_#t~mem17#1.offset := read~$Pointer$(main_~#s~0#1.base, main_~#s~0#1.offset, 4);main_~ptr~0#1.base, main_~ptr~0#1.offset := main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;main_~count~0#1 := 0; {3626#(exists ((|ULTIMATE.start_main_~#s~0#1.base| Int)) (and (< (+ (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) 0)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) 0)) 1) |ULTIMATE.start_main_~#s~0#1.base|) (< (+ (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) 0) 1) |ULTIMATE.start_main_~#s~0#1.base|) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) 0)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) 0)) 0) (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) 0)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) 0))) 4)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) 0) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) 0)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) 0)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) 0) |ULTIMATE.start_main_~ptr~0#1.offset|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) 0) |ULTIMATE.start_main_~ptr~0#1.base|)))} is VALID [2022-02-20 16:55:52,050 INFO L290 TraceCheckUtils]: 31: Hoare triple {3626#(exists ((|ULTIMATE.start_main_~#s~0#1.base| Int)) (and (< (+ (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) 0)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) 0)) 1) |ULTIMATE.start_main_~#s~0#1.base|) (< (+ (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) 0) 1) |ULTIMATE.start_main_~#s~0#1.base|) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) 0)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) 0)) 0) (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) 0)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) 0))) 4)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) 0) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) 0)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) 0)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) 0) |ULTIMATE.start_main_~ptr~0#1.offset|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) 0) |ULTIMATE.start_main_~ptr~0#1.base|)))} call main_#t~mem19#1 := read~int(main_~ptr~0#1.base, 4 + main_~ptr~0#1.offset, 4); {3626#(exists ((|ULTIMATE.start_main_~#s~0#1.base| Int)) (and (< (+ (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) 0)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) 0)) 1) |ULTIMATE.start_main_~#s~0#1.base|) (< (+ (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) 0) 1) |ULTIMATE.start_main_~#s~0#1.base|) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) 0)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) 0)) 0) (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) 0)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) 0))) 4)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) 0) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) 0)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) 0)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) 0) |ULTIMATE.start_main_~ptr~0#1.offset|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) 0) |ULTIMATE.start_main_~ptr~0#1.base|)))} is VALID [2022-02-20 16:55:52,051 INFO L290 TraceCheckUtils]: 32: Hoare triple {3626#(exists ((|ULTIMATE.start_main_~#s~0#1.base| Int)) (and (< (+ (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) 0)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) 0)) 1) |ULTIMATE.start_main_~#s~0#1.base|) (< (+ (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) 0) 1) |ULTIMATE.start_main_~#s~0#1.base|) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) 0)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) 0)) 0) (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) 0)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) 0))) 4)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) 0) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) 0)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) 0)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) 0) |ULTIMATE.start_main_~ptr~0#1.offset|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) 0) |ULTIMATE.start_main_~ptr~0#1.base|)))} assume !(main_~data~0#1 != main_#t~mem19#1);havoc main_#t~mem19#1;call main_#t~mem20#1.base, main_#t~mem20#1.offset := read~$Pointer$(main_~ptr~0#1.base, main_~ptr~0#1.offset, 4);main_~ptr~0#1.base, main_~ptr~0#1.offset := main_#t~mem20#1.base, main_#t~mem20#1.offset;havoc main_#t~mem20#1.base, main_#t~mem20#1.offset;main_#t~post21#1 := main_~count~0#1;main_~count~0#1 := 1 + main_#t~post21#1;havoc main_#t~post21#1; {3510#(and (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~ptr~0#1.base|) (+ |ULTIMATE.start_main_~ptr~0#1.offset| 4))) (= |ULTIMATE.start_main_~ptr~0#1.offset| 0))} is VALID [2022-02-20 16:55:52,052 INFO L290 TraceCheckUtils]: 33: Hoare triple {3510#(and (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~ptr~0#1.base|) (+ |ULTIMATE.start_main_~ptr~0#1.offset| 4))) (= |ULTIMATE.start_main_~ptr~0#1.offset| 0))} call main_#t~mem18#1.base, main_#t~mem18#1.offset := read~$Pointer$(main_~#s~0#1.base, main_~#s~0#1.offset, 4); {3510#(and (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~ptr~0#1.base|) (+ |ULTIMATE.start_main_~ptr~0#1.offset| 4))) (= |ULTIMATE.start_main_~ptr~0#1.offset| 0))} is VALID [2022-02-20 16:55:52,052 INFO L290 TraceCheckUtils]: 34: Hoare triple {3510#(and (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~ptr~0#1.base|) (+ |ULTIMATE.start_main_~ptr~0#1.offset| 4))) (= |ULTIMATE.start_main_~ptr~0#1.offset| 0))} assume !((main_~ptr~0#1.base != main_#t~mem18#1.base || main_~ptr~0#1.offset != main_#t~mem18#1.offset) && main_~count~0#1 != main_~mid_index~0#1);havoc main_#t~mem18#1.base, main_#t~mem18#1.offset; {3510#(and (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~ptr~0#1.base|) (+ |ULTIMATE.start_main_~ptr~0#1.offset| 4))) (= |ULTIMATE.start_main_~ptr~0#1.offset| 0))} is VALID [2022-02-20 16:55:52,053 INFO L290 TraceCheckUtils]: 35: Hoare triple {3510#(and (= |ULTIMATE.start_main_~uneq~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~ptr~0#1.base|) (+ |ULTIMATE.start_main_~ptr~0#1.offset| 4))) (= |ULTIMATE.start_main_~ptr~0#1.offset| 0))} call main_#t~mem22#1 := read~int(main_~ptr~0#1.base, 4 + main_~ptr~0#1.offset, 4); {3511#(= |ULTIMATE.start_main_~uneq~0#1| |ULTIMATE.start_main_#t~mem22#1|)} is VALID [2022-02-20 16:55:52,053 INFO L290 TraceCheckUtils]: 36: Hoare triple {3511#(= |ULTIMATE.start_main_~uneq~0#1| |ULTIMATE.start_main_#t~mem22#1|)} assume main_~uneq~0#1 != main_#t~mem22#1;havoc main_#t~mem22#1; {3484#false} is VALID [2022-02-20 16:55:52,056 INFO L290 TraceCheckUtils]: 37: Hoare triple {3484#false} assume !false; {3484#false} is VALID [2022-02-20 16:55:52,056 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 16:55:52,056 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:55:52,207 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1564 (Array Int Int)) (v_ArrVal_1563 (Array Int Int)) (v_ArrVal_1561 (Array Int Int)) (v_ArrVal_1569 Int)) (= |c_ULTIMATE.start_main_~uneq~0#1| (let ((.cse4 (store (store |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| (store (select |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base|) |c_ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| |c_ULTIMATE.start_sll_circular_insert_~new_node~0#1.offset|)) |c_ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| v_ArrVal_1564)) (.cse1 (store (store |c_#memory_$Pointer$.base| |c_ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| (store (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base|) |c_ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.offset| |c_ULTIMATE.start_sll_circular_insert_~new_node~0#1.base|)) |c_ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| v_ArrVal_1563))) (let ((.cse2 (select (select .cse1 |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|)) (.cse3 (select (select .cse4 |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (select (select (let ((.cse0 (store |c_#memory_int| |c_ULTIMATE.start_sll_circular_insert_~snd_to_last~0#1.base| v_ArrVal_1561))) (store .cse0 |c_ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| (store (select .cse0 |c_ULTIMATE.start_sll_circular_insert_~new_node~0#1.base|) |c_ULTIMATE.start_sll_circular_insert_~new_node~0#1.offset| v_ArrVal_1569))) (select (select .cse1 .cse2) .cse3)) (+ (select (select .cse4 .cse2) .cse3) 4)))))) is different from false [2022-02-20 16:55:52,249 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1564 (Array Int Int)) (v_ArrVal_1563 (Array Int Int)) (v_ArrVal_1561 (Array Int Int)) (v_ArrVal_1569 Int)) (= |c_ULTIMATE.start_main_~uneq~0#1| (let ((.cse4 (store (store |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_sll_circular_insert_~last~1#1.base| (store (select |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_sll_circular_insert_~last~1#1.base|) |c_ULTIMATE.start_sll_circular_insert_~last~1#1.offset| |c_ULTIMATE.start_sll_circular_insert_~new_node~0#1.offset|)) |c_ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| v_ArrVal_1564)) (.cse1 (store (store |c_#memory_$Pointer$.base| |c_ULTIMATE.start_sll_circular_insert_~last~1#1.base| (store (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_sll_circular_insert_~last~1#1.base|) |c_ULTIMATE.start_sll_circular_insert_~last~1#1.offset| |c_ULTIMATE.start_sll_circular_insert_~new_node~0#1.base|)) |c_ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| v_ArrVal_1563))) (let ((.cse2 (select (select .cse1 |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|)) (.cse3 (select (select .cse4 |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (select (select (let ((.cse0 (store |c_#memory_int| |c_ULTIMATE.start_sll_circular_insert_~last~1#1.base| v_ArrVal_1561))) (store .cse0 |c_ULTIMATE.start_sll_circular_insert_~new_node~0#1.base| (store (select .cse0 |c_ULTIMATE.start_sll_circular_insert_~new_node~0#1.base|) |c_ULTIMATE.start_sll_circular_insert_~new_node~0#1.offset| v_ArrVal_1569))) (select (select .cse1 .cse2) .cse3)) (+ (select (select .cse4 .cse2) .cse3) 4)))))) is different from false [2022-02-20 16:55:52,276 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1564 (Array Int Int)) (v_ArrVal_1563 (Array Int Int)) (v_ArrVal_1561 (Array Int Int)) (v_ArrVal_1569 Int)) (= |c_ULTIMATE.start_main_~uneq~0#1| (let ((.cse1 (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_sll_circular_insert_~head#1.base|) |c_ULTIMATE.start_sll_circular_insert_~head#1.offset|)) (.cse6 (select (select |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_sll_circular_insert_~head#1.base|) |c_ULTIMATE.start_sll_circular_insert_~head#1.offset|))) (let ((.cse5 (store (store |c_#memory_$Pointer$.offset| .cse1 (store (select |c_#memory_$Pointer$.offset| .cse1) .cse6 |c_ULTIMATE.start_sll_circular_insert_#t~ret9#1.offset|)) |c_ULTIMATE.start_sll_circular_insert_#t~ret9#1.base| v_ArrVal_1564)) (.cse2 (store (store |c_#memory_$Pointer$.base| .cse1 (store (select |c_#memory_$Pointer$.base| .cse1) .cse6 |c_ULTIMATE.start_sll_circular_insert_#t~ret9#1.base|)) |c_ULTIMATE.start_sll_circular_insert_#t~ret9#1.base| v_ArrVal_1563))) (let ((.cse3 (select (select .cse2 |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|)) (.cse4 (select (select .cse5 |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (select (select (let ((.cse0 (store |c_#memory_int| .cse1 v_ArrVal_1561))) (store .cse0 |c_ULTIMATE.start_sll_circular_insert_#t~ret9#1.base| (store (select .cse0 |c_ULTIMATE.start_sll_circular_insert_#t~ret9#1.base|) |c_ULTIMATE.start_sll_circular_insert_#t~ret9#1.offset| v_ArrVal_1569))) (select (select .cse2 .cse3) .cse4)) (+ (select (select .cse5 .cse3) .cse4) 4))))))) is different from false [2022-02-20 16:55:52,890 INFO L356 Elim1Store]: treesize reduction 60, result has 76.7 percent of original size [2022-02-20 16:55:52,891 INFO L390 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 6 new quantified variables, introduced 10 case distinctions, treesize of input 519694 treesize of output 486603 [2022-02-20 16:55:53,325 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:55:53,326 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 486366 treesize of output 451558 [2022-02-20 16:55:59,287 INFO L356 Elim1Store]: treesize reduction 2668, result has 67.6 percent of original size [2022-02-20 16:55:59,289 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 11 select indices, 11 select index equivalence classes, 0 disjoint index pairs (out of 55 index pairs), introduced 11 new quantified variables, introduced 55 case distinctions, treesize of input 5096390 treesize of output 4551240 [2022-02-20 16:56:02,054 INFO L356 Elim1Store]: treesize reduction 194, result has 56.8 percent of original size [2022-02-20 16:56:02,057 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 8 select indices, 8 select index equivalence classes, 0 disjoint index pairs (out of 28 index pairs), introduced 9 new quantified variables, introduced 28 case distinctions, treesize of input 4547930 treesize of output 4413628 [2022-02-20 16:56:12,422 INFO L244 Elim1Store]: Index analysis took 1163 ms