./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/list-properties/list_search-1.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-properties/list_search-1.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 ef935aaf7590747bfbe771bbb249e6b84337edbf0e97024d9de82d0d23d44f30 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 16:48:45,861 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 16:48:45,862 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 16:48:45,898 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 16:48:45,898 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 16:48:45,899 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 16:48:45,900 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 16:48:45,906 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 16:48:45,907 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 16:48:45,907 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 16:48:45,908 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 16:48:45,909 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 16:48:45,909 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 16:48:45,910 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 16:48:45,913 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 16:48:45,913 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 16:48:45,914 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 16:48:45,915 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 16:48:45,917 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 16:48:45,922 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 16:48:45,923 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 16:48:45,924 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 16:48:45,925 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 16:48:45,925 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 16:48:45,927 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 16:48:45,932 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 16:48:45,932 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 16:48:45,933 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 16:48:45,933 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 16:48:45,934 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 16:48:45,934 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 16:48:45,934 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 16:48:45,935 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 16:48:45,935 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 16:48:45,936 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 16:48:45,939 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 16:48:45,939 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 16:48:45,940 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 16:48:45,940 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 16:48:45,940 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 16:48:45,941 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 16:48:45,941 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:48:45,964 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 16:48:45,965 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 16:48:45,965 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 16:48:45,966 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 16:48:45,966 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 16:48:45,966 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 16:48:45,967 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 16:48:45,967 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 16:48:45,967 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 16:48:45,968 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 16:48:45,968 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 16:48:45,969 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 16:48:45,969 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 16:48:45,969 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 16:48:45,969 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 16:48:45,969 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 16:48:45,969 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 16:48:45,969 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 16:48:45,969 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 16:48:45,970 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 16:48:45,970 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 16:48:45,970 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 16:48:45,970 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 16:48:45,970 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 16:48:45,970 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:48:45,970 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 16:48:45,971 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 16:48:45,971 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 16:48:45,972 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 16:48:45,972 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 16:48:45,972 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 16:48:45,972 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 16:48:45,972 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 16:48:45,972 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 -> ef935aaf7590747bfbe771bbb249e6b84337edbf0e97024d9de82d0d23d44f30 [2022-02-20 16:48:46,149 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 16:48:46,167 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 16:48:46,169 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 16:48:46,172 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 16:48:46,173 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 16:48:46,174 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/list-properties/list_search-1.i [2022-02-20 16:48:46,234 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cb43ce8e8/c61d3443c41d48e392011803b84a685b/FLAG48bb1625d [2022-02-20 16:48:46,595 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 16:48:46,596 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/list-properties/list_search-1.i [2022-02-20 16:48:46,612 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cb43ce8e8/c61d3443c41d48e392011803b84a685b/FLAG48bb1625d [2022-02-20 16:48:46,967 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cb43ce8e8/c61d3443c41d48e392011803b84a685b [2022-02-20 16:48:46,970 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 16:48:46,973 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 16:48:46,974 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 16:48:46,974 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 16:48:46,976 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 16:48:46,977 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:48:46" (1/1) ... [2022-02-20 16:48:46,979 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1d02bf4b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:48:46, skipping insertion in model container [2022-02-20 16:48:46,979 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:48:46" (1/1) ... [2022-02-20 16:48:46,984 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 16:48:47,011 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 16:48:47,094 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-properties/list_search-1.i[813,826] [2022-02-20 16:48:47,187 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:48:47,192 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 16:48:47,199 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-properties/list_search-1.i[813,826] [2022-02-20 16:48:47,219 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:48:47,252 INFO L208 MainTranslator]: Completed translation [2022-02-20 16:48:47,252 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:48:47 WrapperNode [2022-02-20 16:48:47,253 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 16:48:47,254 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 16:48:47,254 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 16:48:47,254 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 16:48:47,258 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:48:47" (1/1) ... [2022-02-20 16:48:47,283 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:48:47" (1/1) ... [2022-02-20 16:48:47,306 INFO L137 Inliner]: procedures = 125, calls = 22, calls flagged for inlining = 4, calls inlined = 4, statements flattened = 66 [2022-02-20 16:48:47,306 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 16:48:47,307 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 16:48:47,307 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 16:48:47,307 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 16:48:47,312 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:48:47" (1/1) ... [2022-02-20 16:48:47,312 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:48:47" (1/1) ... [2022-02-20 16:48:47,319 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:48:47" (1/1) ... [2022-02-20 16:48:47,320 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:48:47" (1/1) ... [2022-02-20 16:48:47,332 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:48:47" (1/1) ... [2022-02-20 16:48:47,341 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:48:47" (1/1) ... [2022-02-20 16:48:47,346 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:48:47" (1/1) ... [2022-02-20 16:48:47,351 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 16:48:47,357 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 16:48:47,357 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 16:48:47,357 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 16:48:47,358 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:48:47" (1/1) ... [2022-02-20 16:48:47,363 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:48:47,370 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:48:47,379 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:48:47,387 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:48:47,403 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 16:48:47,403 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 16:48:47,403 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 16:48:47,403 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 16:48:47,404 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 16:48:47,404 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 16:48:47,404 INFO L130 BoogieDeclarations]: Found specification of procedure insert_list [2022-02-20 16:48:47,404 INFO L138 BoogieDeclarations]: Found implementation of procedure insert_list [2022-02-20 16:48:47,404 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 16:48:47,404 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 16:48:47,404 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 16:48:47,405 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 16:48:47,463 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 16:48:47,464 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 16:48:47,626 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 16:48:47,631 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 16:48:47,637 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 16:48:47,640 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:48:47 BoogieIcfgContainer [2022-02-20 16:48:47,641 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 16:48:47,643 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 16:48:47,643 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 16:48:47,645 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 16:48:47,646 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 04:48:46" (1/3) ... [2022-02-20 16:48:47,646 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@630568fe and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:48:47, skipping insertion in model container [2022-02-20 16:48:47,646 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:48:47" (2/3) ... [2022-02-20 16:48:47,647 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@630568fe and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:48:47, skipping insertion in model container [2022-02-20 16:48:47,647 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:48:47" (3/3) ... [2022-02-20 16:48:47,648 INFO L111 eAbstractionObserver]: Analyzing ICFG list_search-1.i [2022-02-20 16:48:47,651 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 16:48:47,652 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 16:48:47,699 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 16:48:47,712 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:48:47,713 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 16:48:47,728 INFO L276 IsEmpty]: Start isEmpty. Operand has 28 states, 21 states have (on average 1.380952380952381) internal successors, (29), 22 states have internal predecessors, (29), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 16:48:47,732 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-02-20 16:48:47,732 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:48:47,733 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:48:47,734 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:48:47,737 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:48:47,737 INFO L85 PathProgramCache]: Analyzing trace with hash -547062782, now seen corresponding path program 1 times [2022-02-20 16:48:47,746 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:48:47,746 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1277732557] [2022-02-20 16:48:47,746 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:48:47,747 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:48:47,934 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:48,077 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:48:48,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:48,170 INFO L290 TraceCheckUtils]: 0: Hoare triple {54#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {55#(or (<= (+ 1 insert_list_~l.base) 0) (not (<= insert_list_~l.base 0)))} is VALID [2022-02-20 16:48:48,171 INFO L290 TraceCheckUtils]: 1: Hoare triple {55#(or (<= (+ 1 insert_list_~l.base) 0) (not (<= insert_list_~l.base 0)))} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {55#(or (<= (+ 1 insert_list_~l.base) 0) (not (<= insert_list_~l.base 0)))} is VALID [2022-02-20 16:48:48,174 INFO L290 TraceCheckUtils]: 2: Hoare triple {55#(or (<= (+ 1 insert_list_~l.base) 0) (not (<= insert_list_~l.base 0)))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {38#(not (= ~head~0.base 0))} is VALID [2022-02-20 16:48:48,175 INFO L290 TraceCheckUtils]: 3: Hoare triple {38#(not (= ~head~0.base 0))} assume true; {38#(not (= ~head~0.base 0))} is VALID [2022-02-20 16:48:48,177 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {38#(not (= ~head~0.base 0))} {31#true} #68#return; {38#(not (= ~head~0.base 0))} is VALID [2022-02-20 16:48:48,178 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 16:48:48,195 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:48,225 INFO L290 TraceCheckUtils]: 0: Hoare triple {54#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {56#(= |old(~head~0.base)| ~head~0.base)} is VALID [2022-02-20 16:48:48,226 INFO L290 TraceCheckUtils]: 1: Hoare triple {56#(= |old(~head~0.base)| ~head~0.base)} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {57#(= |old(~head~0.base)| 0)} is VALID [2022-02-20 16:48:48,227 INFO L290 TraceCheckUtils]: 2: Hoare triple {57#(= |old(~head~0.base)| 0)} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {57#(= |old(~head~0.base)| 0)} is VALID [2022-02-20 16:48:48,227 INFO L290 TraceCheckUtils]: 3: Hoare triple {57#(= |old(~head~0.base)| 0)} assume true; {57#(= |old(~head~0.base)| 0)} is VALID [2022-02-20 16:48:48,228 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {57#(= |old(~head~0.base)| 0)} {38#(not (= ~head~0.base 0))} #70#return; {32#false} is VALID [2022-02-20 16:48:48,228 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-02-20 16:48:48,280 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:48,298 INFO L290 TraceCheckUtils]: 0: Hoare triple {54#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {31#true} is VALID [2022-02-20 16:48:48,298 INFO L290 TraceCheckUtils]: 1: Hoare triple {31#true} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {31#true} is VALID [2022-02-20 16:48:48,299 INFO L290 TraceCheckUtils]: 2: Hoare triple {31#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {31#true} is VALID [2022-02-20 16:48:48,299 INFO L290 TraceCheckUtils]: 3: Hoare triple {31#true} assume true; {31#true} is VALID [2022-02-20 16:48:48,302 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {31#true} {32#false} #72#return; {32#false} is VALID [2022-02-20 16:48:48,303 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-02-20 16:48:48,310 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:48,317 INFO L290 TraceCheckUtils]: 0: Hoare triple {54#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {31#true} is VALID [2022-02-20 16:48:48,318 INFO L290 TraceCheckUtils]: 1: Hoare triple {31#true} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {31#true} is VALID [2022-02-20 16:48:48,318 INFO L290 TraceCheckUtils]: 2: Hoare triple {31#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {31#true} is VALID [2022-02-20 16:48:48,318 INFO L290 TraceCheckUtils]: 3: Hoare triple {31#true} assume true; {31#true} is VALID [2022-02-20 16:48:48,318 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {31#true} {32#false} #74#return; {32#false} is VALID [2022-02-20 16:48:48,319 INFO L290 TraceCheckUtils]: 0: Hoare triple {31#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(16, 2);~head~0.base, ~head~0.offset := 0, 0; {31#true} is VALID [2022-02-20 16:48:48,319 INFO L290 TraceCheckUtils]: 1: Hoare triple {31#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1, main_#t~ret8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~ret11#1.base, main_#t~ret11#1.offset, main_#t~mem12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;havoc main_~mylist~0#1.base, main_~mylist~0#1.offset;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {31#true} is VALID [2022-02-20 16:48:48,320 INFO L272 TraceCheckUtils]: 2: Hoare triple {31#true} call main_#t~ret7#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2); {54#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#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:48:48,321 INFO L290 TraceCheckUtils]: 3: Hoare triple {54#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {55#(or (<= (+ 1 insert_list_~l.base) 0) (not (<= insert_list_~l.base 0)))} is VALID [2022-02-20 16:48:48,322 INFO L290 TraceCheckUtils]: 4: Hoare triple {55#(or (<= (+ 1 insert_list_~l.base) 0) (not (<= insert_list_~l.base 0)))} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {55#(or (<= (+ 1 insert_list_~l.base) 0) (not (<= insert_list_~l.base 0)))} is VALID [2022-02-20 16:48:48,322 INFO L290 TraceCheckUtils]: 5: Hoare triple {55#(or (<= (+ 1 insert_list_~l.base) 0) (not (<= insert_list_~l.base 0)))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {38#(not (= ~head~0.base 0))} is VALID [2022-02-20 16:48:48,323 INFO L290 TraceCheckUtils]: 6: Hoare triple {38#(not (= ~head~0.base 0))} assume true; {38#(not (= ~head~0.base 0))} is VALID [2022-02-20 16:48:48,324 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {38#(not (= ~head~0.base 0))} {31#true} #68#return; {38#(not (= ~head~0.base 0))} is VALID [2022-02-20 16:48:48,324 INFO L290 TraceCheckUtils]: 8: Hoare triple {38#(not (= ~head~0.base 0))} assume -2147483648 <= main_#t~ret7#1 && main_#t~ret7#1 <= 2147483647;havoc main_#t~ret7#1; {38#(not (= ~head~0.base 0))} is VALID [2022-02-20 16:48:48,325 INFO L272 TraceCheckUtils]: 9: Hoare triple {38#(not (= ~head~0.base 0))} call main_#t~ret8#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5); {54#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#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:48:48,326 INFO L290 TraceCheckUtils]: 10: Hoare triple {54#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {56#(= |old(~head~0.base)| ~head~0.base)} is VALID [2022-02-20 16:48:48,326 INFO L290 TraceCheckUtils]: 11: Hoare triple {56#(= |old(~head~0.base)| ~head~0.base)} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {57#(= |old(~head~0.base)| 0)} is VALID [2022-02-20 16:48:48,327 INFO L290 TraceCheckUtils]: 12: Hoare triple {57#(= |old(~head~0.base)| 0)} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {57#(= |old(~head~0.base)| 0)} is VALID [2022-02-20 16:48:48,327 INFO L290 TraceCheckUtils]: 13: Hoare triple {57#(= |old(~head~0.base)| 0)} assume true; {57#(= |old(~head~0.base)| 0)} is VALID [2022-02-20 16:48:48,328 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {57#(= |old(~head~0.base)| 0)} {38#(not (= ~head~0.base 0))} #70#return; {32#false} is VALID [2022-02-20 16:48:48,328 INFO L290 TraceCheckUtils]: 15: Hoare triple {32#false} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;havoc main_#t~ret8#1; {32#false} is VALID [2022-02-20 16:48:48,329 INFO L272 TraceCheckUtils]: 16: Hoare triple {32#false} call main_#t~ret9#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1); {54#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#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:48:48,329 INFO L290 TraceCheckUtils]: 17: Hoare triple {54#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {31#true} is VALID [2022-02-20 16:48:48,329 INFO L290 TraceCheckUtils]: 18: Hoare triple {31#true} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {31#true} is VALID [2022-02-20 16:48:48,329 INFO L290 TraceCheckUtils]: 19: Hoare triple {31#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {31#true} is VALID [2022-02-20 16:48:48,329 INFO L290 TraceCheckUtils]: 20: Hoare triple {31#true} assume true; {31#true} is VALID [2022-02-20 16:48:48,330 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {31#true} {32#false} #72#return; {32#false} is VALID [2022-02-20 16:48:48,330 INFO L290 TraceCheckUtils]: 22: Hoare triple {32#false} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;havoc main_#t~ret9#1; {32#false} is VALID [2022-02-20 16:48:48,330 INFO L272 TraceCheckUtils]: 23: Hoare triple {32#false} call main_#t~ret10#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3); {54#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#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:48:48,330 INFO L290 TraceCheckUtils]: 24: Hoare triple {54#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {31#true} is VALID [2022-02-20 16:48:48,330 INFO L290 TraceCheckUtils]: 25: Hoare triple {31#true} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {31#true} is VALID [2022-02-20 16:48:48,330 INFO L290 TraceCheckUtils]: 26: Hoare triple {31#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {31#true} is VALID [2022-02-20 16:48:48,331 INFO L290 TraceCheckUtils]: 27: Hoare triple {31#true} assume true; {31#true} is VALID [2022-02-20 16:48:48,331 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {31#true} {32#false} #74#return; {32#false} is VALID [2022-02-20 16:48:48,331 INFO L290 TraceCheckUtils]: 29: Hoare triple {32#false} assume -2147483648 <= main_#t~ret10#1 && main_#t~ret10#1 <= 2147483647;havoc main_#t~ret10#1;assume { :begin_inline_search_list } true;search_list_#in~l#1.base, search_list_#in~l#1.offset, search_list_#in~k#1 := ~head~0.base, ~head~0.offset, 2;havoc search_list_#res#1.base, search_list_#res#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset, search_list_#t~mem3#1, search_list_#t~short4#1, search_list_~l#1.base, search_list_~l#1.offset, search_list_~k#1;search_list_~l#1.base, search_list_~l#1.offset := search_list_#in~l#1.base, search_list_#in~l#1.offset;search_list_~k#1 := search_list_#in~k#1;search_list_~l#1.base, search_list_~l#1.offset := ~head~0.base, ~head~0.offset; {32#false} is VALID [2022-02-20 16:48:48,331 INFO L290 TraceCheckUtils]: 30: Hoare triple {32#false} assume !true; {32#false} is VALID [2022-02-20 16:48:48,332 INFO L290 TraceCheckUtils]: 31: Hoare triple {32#false} search_list_#res#1.base, search_list_#res#1.offset := search_list_~l#1.base, search_list_~l#1.offset; {32#false} is VALID [2022-02-20 16:48:48,332 INFO L290 TraceCheckUtils]: 32: Hoare triple {32#false} main_#t~ret11#1.base, main_#t~ret11#1.offset := search_list_#res#1.base, search_list_#res#1.offset;assume { :end_inline_search_list } true;main_~temp~0#1.base, main_~temp~0#1.offset := main_#t~ret11#1.base, main_#t~ret11#1.offset;havoc main_#t~ret11#1.base, main_#t~ret11#1.offset;call main_#t~mem12#1 := read~int(main_~temp~0#1.base, main_~temp~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 1 == main_#t~mem12#1 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {32#false} is VALID [2022-02-20 16:48:48,332 INFO L290 TraceCheckUtils]: 33: Hoare triple {32#false} assume 0 == __VERIFIER_assert_~cond#1; {32#false} is VALID [2022-02-20 16:48:48,332 INFO L290 TraceCheckUtils]: 34: Hoare triple {32#false} assume !false; {32#false} is VALID [2022-02-20 16:48:48,333 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 0 proven. 20 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-02-20 16:48:48,333 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:48:48,333 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1277732557] [2022-02-20 16:48:48,334 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1277732557] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:48:48,334 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [553229604] [2022-02-20 16:48:48,334 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:48:48,335 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:48:48,335 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:48:48,336 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:48:48,377 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:48:48,497 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:48,501 INFO L263 TraceCheckSpWp]: Trace formula consists of 364 conjuncts, 1 conjunts are in the unsatisfiable core [2022-02-20 16:48:48,520 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:48,524 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:48:48,607 INFO L290 TraceCheckUtils]: 0: Hoare triple {31#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(16, 2);~head~0.base, ~head~0.offset := 0, 0; {31#true} is VALID [2022-02-20 16:48:48,608 INFO L290 TraceCheckUtils]: 1: Hoare triple {31#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1, main_#t~ret8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~ret11#1.base, main_#t~ret11#1.offset, main_#t~mem12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;havoc main_~mylist~0#1.base, main_~mylist~0#1.offset;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {31#true} is VALID [2022-02-20 16:48:48,608 INFO L272 TraceCheckUtils]: 2: Hoare triple {31#true} call main_#t~ret7#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2); {31#true} is VALID [2022-02-20 16:48:48,608 INFO L290 TraceCheckUtils]: 3: Hoare triple {31#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {31#true} is VALID [2022-02-20 16:48:48,608 INFO L290 TraceCheckUtils]: 4: Hoare triple {31#true} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {31#true} is VALID [2022-02-20 16:48:48,609 INFO L290 TraceCheckUtils]: 5: Hoare triple {31#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {31#true} is VALID [2022-02-20 16:48:48,609 INFO L290 TraceCheckUtils]: 6: Hoare triple {31#true} assume true; {31#true} is VALID [2022-02-20 16:48:48,609 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {31#true} {31#true} #68#return; {31#true} is VALID [2022-02-20 16:48:48,609 INFO L290 TraceCheckUtils]: 8: Hoare triple {31#true} assume -2147483648 <= main_#t~ret7#1 && main_#t~ret7#1 <= 2147483647;havoc main_#t~ret7#1; {31#true} is VALID [2022-02-20 16:48:48,609 INFO L272 TraceCheckUtils]: 9: Hoare triple {31#true} call main_#t~ret8#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5); {31#true} is VALID [2022-02-20 16:48:48,610 INFO L290 TraceCheckUtils]: 10: Hoare triple {31#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {31#true} is VALID [2022-02-20 16:48:48,610 INFO L290 TraceCheckUtils]: 11: Hoare triple {31#true} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {31#true} is VALID [2022-02-20 16:48:48,610 INFO L290 TraceCheckUtils]: 12: Hoare triple {31#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {31#true} is VALID [2022-02-20 16:48:48,610 INFO L290 TraceCheckUtils]: 13: Hoare triple {31#true} assume true; {31#true} is VALID [2022-02-20 16:48:48,610 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {31#true} {31#true} #70#return; {31#true} is VALID [2022-02-20 16:48:48,611 INFO L290 TraceCheckUtils]: 15: Hoare triple {31#true} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;havoc main_#t~ret8#1; {31#true} is VALID [2022-02-20 16:48:48,611 INFO L272 TraceCheckUtils]: 16: Hoare triple {31#true} call main_#t~ret9#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1); {31#true} is VALID [2022-02-20 16:48:48,611 INFO L290 TraceCheckUtils]: 17: Hoare triple {31#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {31#true} is VALID [2022-02-20 16:48:48,611 INFO L290 TraceCheckUtils]: 18: Hoare triple {31#true} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {31#true} is VALID [2022-02-20 16:48:48,611 INFO L290 TraceCheckUtils]: 19: Hoare triple {31#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {31#true} is VALID [2022-02-20 16:48:48,612 INFO L290 TraceCheckUtils]: 20: Hoare triple {31#true} assume true; {31#true} is VALID [2022-02-20 16:48:48,612 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {31#true} {31#true} #72#return; {31#true} is VALID [2022-02-20 16:48:48,612 INFO L290 TraceCheckUtils]: 22: Hoare triple {31#true} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;havoc main_#t~ret9#1; {31#true} is VALID [2022-02-20 16:48:48,612 INFO L272 TraceCheckUtils]: 23: Hoare triple {31#true} call main_#t~ret10#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3); {31#true} is VALID [2022-02-20 16:48:48,612 INFO L290 TraceCheckUtils]: 24: Hoare triple {31#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {31#true} is VALID [2022-02-20 16:48:48,612 INFO L290 TraceCheckUtils]: 25: Hoare triple {31#true} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {31#true} is VALID [2022-02-20 16:48:48,613 INFO L290 TraceCheckUtils]: 26: Hoare triple {31#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {31#true} is VALID [2022-02-20 16:48:48,613 INFO L290 TraceCheckUtils]: 27: Hoare triple {31#true} assume true; {31#true} is VALID [2022-02-20 16:48:48,613 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {31#true} {31#true} #74#return; {31#true} is VALID [2022-02-20 16:48:48,613 INFO L290 TraceCheckUtils]: 29: Hoare triple {31#true} assume -2147483648 <= main_#t~ret10#1 && main_#t~ret10#1 <= 2147483647;havoc main_#t~ret10#1;assume { :begin_inline_search_list } true;search_list_#in~l#1.base, search_list_#in~l#1.offset, search_list_#in~k#1 := ~head~0.base, ~head~0.offset, 2;havoc search_list_#res#1.base, search_list_#res#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset, search_list_#t~mem3#1, search_list_#t~short4#1, search_list_~l#1.base, search_list_~l#1.offset, search_list_~k#1;search_list_~l#1.base, search_list_~l#1.offset := search_list_#in~l#1.base, search_list_#in~l#1.offset;search_list_~k#1 := search_list_#in~k#1;search_list_~l#1.base, search_list_~l#1.offset := ~head~0.base, ~head~0.offset; {31#true} is VALID [2022-02-20 16:48:48,614 INFO L290 TraceCheckUtils]: 30: Hoare triple {31#true} assume !true; {32#false} is VALID [2022-02-20 16:48:48,614 INFO L290 TraceCheckUtils]: 31: Hoare triple {32#false} search_list_#res#1.base, search_list_#res#1.offset := search_list_~l#1.base, search_list_~l#1.offset; {32#false} is VALID [2022-02-20 16:48:48,614 INFO L290 TraceCheckUtils]: 32: Hoare triple {32#false} main_#t~ret11#1.base, main_#t~ret11#1.offset := search_list_#res#1.base, search_list_#res#1.offset;assume { :end_inline_search_list } true;main_~temp~0#1.base, main_~temp~0#1.offset := main_#t~ret11#1.base, main_#t~ret11#1.offset;havoc main_#t~ret11#1.base, main_#t~ret11#1.offset;call main_#t~mem12#1 := read~int(main_~temp~0#1.base, main_~temp~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 1 == main_#t~mem12#1 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {32#false} is VALID [2022-02-20 16:48:48,614 INFO L290 TraceCheckUtils]: 33: Hoare triple {32#false} assume 0 == __VERIFIER_assert_~cond#1; {32#false} is VALID [2022-02-20 16:48:48,614 INFO L290 TraceCheckUtils]: 34: Hoare triple {32#false} assume !false; {32#false} is VALID [2022-02-20 16:48:48,615 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-02-20 16:48:48,615 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:48:48,615 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [553229604] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:48:48,615 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 16:48:48,616 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [7] total 7 [2022-02-20 16:48:48,617 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1506992202] [2022-02-20 16:48:48,618 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:48:48,621 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 35 [2022-02-20 16:48:48,623 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:48:48,625 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:48:48,645 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:48:48,645 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 16:48:48,645 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:48:48,658 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 16:48:48,659 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2022-02-20 16:48:48,661 INFO L87 Difference]: Start difference. First operand has 28 states, 21 states have (on average 1.380952380952381) internal successors, (29), 22 states have internal predecessors, (29), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:48:48,693 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:48,693 INFO L93 Difference]: Finished difference Result 38 states and 49 transitions. [2022-02-20 16:48:48,693 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 16:48:48,693 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 35 [2022-02-20 16:48:48,694 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:48:48,695 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:48:48,699 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 49 transitions. [2022-02-20 16:48:48,699 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:48:48,701 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 49 transitions. [2022-02-20 16:48:48,701 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 49 transitions. [2022-02-20 16:48:48,735 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:48:48,741 INFO L225 Difference]: With dead ends: 38 [2022-02-20 16:48:48,741 INFO L226 Difference]: Without dead ends: 23 [2022-02-20 16:48:48,743 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 47 GetRequests, 41 SyntacticMatches, 1 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2022-02-20 16:48:48,745 INFO L933 BasicCegarLoop]: 34 mSDtfsCounter, 0 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 0 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 34 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:48:48,745 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 34 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:48:48,755 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 23 states. [2022-02-20 16:48:48,771 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 23 to 23. [2022-02-20 16:48:48,771 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:48:48,772 INFO L82 GeneralOperation]: Start isEquivalent. First operand 23 states. Second operand has 23 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 17 states have internal predecessors, (20), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 16:48:48,772 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand has 23 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 17 states have internal predecessors, (20), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 16:48:48,773 INFO L87 Difference]: Start difference. First operand 23 states. Second operand has 23 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 17 states have internal predecessors, (20), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 16:48:48,775 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:48,775 INFO L93 Difference]: Finished difference Result 23 states and 28 transitions. [2022-02-20 16:48:48,776 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 28 transitions. [2022-02-20 16:48:48,776 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:48:48,776 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:48:48,776 INFO L74 IsIncluded]: Start isIncluded. First operand has 23 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 17 states have internal predecessors, (20), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 23 states. [2022-02-20 16:48:48,777 INFO L87 Difference]: Start difference. First operand has 23 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 17 states have internal predecessors, (20), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 23 states. [2022-02-20 16:48:48,779 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:48,779 INFO L93 Difference]: Finished difference Result 23 states and 28 transitions. [2022-02-20 16:48:48,779 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 28 transitions. [2022-02-20 16:48:48,780 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:48:48,780 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:48:48,780 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:48:48,788 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:48:48,789 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 17 states have internal predecessors, (20), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 16:48:48,791 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 28 transitions. [2022-02-20 16:48:48,792 INFO L78 Accepts]: Start accepts. Automaton has 23 states and 28 transitions. Word has length 35 [2022-02-20 16:48:48,793 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:48:48,793 INFO L470 AbstractCegarLoop]: Abstraction has 23 states and 28 transitions. [2022-02-20 16:48:48,793 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:48:48,793 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 28 transitions. [2022-02-20 16:48:48,794 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-02-20 16:48:48,794 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:48:48,794 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 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:48:48,823 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-02-20 16:48:49,011 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable0 [2022-02-20 16:48:49,011 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:48:49,012 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:48:49,012 INFO L85 PathProgramCache]: Analyzing trace with hash -745059685, now seen corresponding path program 1 times [2022-02-20 16:48:49,012 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:48:49,012 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1972552007] [2022-02-20 16:48:49,013 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:48:49,013 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:48:49,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:49,067 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:48:49,083 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:49,108 INFO L290 TraceCheckUtils]: 0: Hoare triple {311#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {312#(or (<= (+ 1 insert_list_~l.base) 0) (not (<= insert_list_~l.base 0)))} is VALID [2022-02-20 16:48:49,109 INFO L290 TraceCheckUtils]: 1: Hoare triple {312#(or (<= (+ 1 insert_list_~l.base) 0) (not (<= insert_list_~l.base 0)))} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {312#(or (<= (+ 1 insert_list_~l.base) 0) (not (<= insert_list_~l.base 0)))} is VALID [2022-02-20 16:48:49,110 INFO L290 TraceCheckUtils]: 2: Hoare triple {312#(or (<= (+ 1 insert_list_~l.base) 0) (not (<= insert_list_~l.base 0)))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {295#(not (= ~head~0.base 0))} is VALID [2022-02-20 16:48:49,110 INFO L290 TraceCheckUtils]: 3: Hoare triple {295#(not (= ~head~0.base 0))} assume true; {295#(not (= ~head~0.base 0))} is VALID [2022-02-20 16:48:49,111 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {295#(not (= ~head~0.base 0))} {288#true} #68#return; {295#(not (= ~head~0.base 0))} is VALID [2022-02-20 16:48:49,111 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 16:48:49,117 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:49,133 INFO L290 TraceCheckUtils]: 0: Hoare triple {311#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {313#(= |old(~head~0.base)| ~head~0.base)} is VALID [2022-02-20 16:48:49,134 INFO L290 TraceCheckUtils]: 1: Hoare triple {313#(= |old(~head~0.base)| ~head~0.base)} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {314#(= |old(~head~0.base)| 0)} is VALID [2022-02-20 16:48:49,134 INFO L290 TraceCheckUtils]: 2: Hoare triple {314#(= |old(~head~0.base)| 0)} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {314#(= |old(~head~0.base)| 0)} is VALID [2022-02-20 16:48:49,135 INFO L290 TraceCheckUtils]: 3: Hoare triple {314#(= |old(~head~0.base)| 0)} assume true; {314#(= |old(~head~0.base)| 0)} is VALID [2022-02-20 16:48:49,135 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {314#(= |old(~head~0.base)| 0)} {295#(not (= ~head~0.base 0))} #70#return; {289#false} is VALID [2022-02-20 16:48:49,136 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-02-20 16:48:49,140 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:49,145 INFO L290 TraceCheckUtils]: 0: Hoare triple {311#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {288#true} is VALID [2022-02-20 16:48:49,145 INFO L290 TraceCheckUtils]: 1: Hoare triple {288#true} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {288#true} is VALID [2022-02-20 16:48:49,146 INFO L290 TraceCheckUtils]: 2: Hoare triple {288#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {288#true} is VALID [2022-02-20 16:48:49,146 INFO L290 TraceCheckUtils]: 3: Hoare triple {288#true} assume true; {288#true} is VALID [2022-02-20 16:48:49,146 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {288#true} {289#false} #72#return; {289#false} is VALID [2022-02-20 16:48:49,146 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-02-20 16:48:49,151 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:49,155 INFO L290 TraceCheckUtils]: 0: Hoare triple {311#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {288#true} is VALID [2022-02-20 16:48:49,156 INFO L290 TraceCheckUtils]: 1: Hoare triple {288#true} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {288#true} is VALID [2022-02-20 16:48:49,156 INFO L290 TraceCheckUtils]: 2: Hoare triple {288#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {288#true} is VALID [2022-02-20 16:48:49,156 INFO L290 TraceCheckUtils]: 3: Hoare triple {288#true} assume true; {288#true} is VALID [2022-02-20 16:48:49,156 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {288#true} {289#false} #74#return; {289#false} is VALID [2022-02-20 16:48:49,156 INFO L290 TraceCheckUtils]: 0: Hoare triple {288#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(16, 2);~head~0.base, ~head~0.offset := 0, 0; {288#true} is VALID [2022-02-20 16:48:49,157 INFO L290 TraceCheckUtils]: 1: Hoare triple {288#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1, main_#t~ret8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~ret11#1.base, main_#t~ret11#1.offset, main_#t~mem12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;havoc main_~mylist~0#1.base, main_~mylist~0#1.offset;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {288#true} is VALID [2022-02-20 16:48:49,158 INFO L272 TraceCheckUtils]: 2: Hoare triple {288#true} call main_#t~ret7#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2); {311#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#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:48:49,159 INFO L290 TraceCheckUtils]: 3: Hoare triple {311#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {312#(or (<= (+ 1 insert_list_~l.base) 0) (not (<= insert_list_~l.base 0)))} is VALID [2022-02-20 16:48:49,159 INFO L290 TraceCheckUtils]: 4: Hoare triple {312#(or (<= (+ 1 insert_list_~l.base) 0) (not (<= insert_list_~l.base 0)))} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {312#(or (<= (+ 1 insert_list_~l.base) 0) (not (<= insert_list_~l.base 0)))} is VALID [2022-02-20 16:48:49,160 INFO L290 TraceCheckUtils]: 5: Hoare triple {312#(or (<= (+ 1 insert_list_~l.base) 0) (not (<= insert_list_~l.base 0)))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {295#(not (= ~head~0.base 0))} is VALID [2022-02-20 16:48:49,160 INFO L290 TraceCheckUtils]: 6: Hoare triple {295#(not (= ~head~0.base 0))} assume true; {295#(not (= ~head~0.base 0))} is VALID [2022-02-20 16:48:49,161 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {295#(not (= ~head~0.base 0))} {288#true} #68#return; {295#(not (= ~head~0.base 0))} is VALID [2022-02-20 16:48:49,161 INFO L290 TraceCheckUtils]: 8: Hoare triple {295#(not (= ~head~0.base 0))} assume -2147483648 <= main_#t~ret7#1 && main_#t~ret7#1 <= 2147483647;havoc main_#t~ret7#1; {295#(not (= ~head~0.base 0))} is VALID [2022-02-20 16:48:49,162 INFO L272 TraceCheckUtils]: 9: Hoare triple {295#(not (= ~head~0.base 0))} call main_#t~ret8#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5); {311#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#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:48:49,163 INFO L290 TraceCheckUtils]: 10: Hoare triple {311#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {313#(= |old(~head~0.base)| ~head~0.base)} is VALID [2022-02-20 16:48:49,163 INFO L290 TraceCheckUtils]: 11: Hoare triple {313#(= |old(~head~0.base)| ~head~0.base)} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {314#(= |old(~head~0.base)| 0)} is VALID [2022-02-20 16:48:49,164 INFO L290 TraceCheckUtils]: 12: Hoare triple {314#(= |old(~head~0.base)| 0)} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {314#(= |old(~head~0.base)| 0)} is VALID [2022-02-20 16:48:49,164 INFO L290 TraceCheckUtils]: 13: Hoare triple {314#(= |old(~head~0.base)| 0)} assume true; {314#(= |old(~head~0.base)| 0)} is VALID [2022-02-20 16:48:49,165 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {314#(= |old(~head~0.base)| 0)} {295#(not (= ~head~0.base 0))} #70#return; {289#false} is VALID [2022-02-20 16:48:49,165 INFO L290 TraceCheckUtils]: 15: Hoare triple {289#false} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;havoc main_#t~ret8#1; {289#false} is VALID [2022-02-20 16:48:49,165 INFO L272 TraceCheckUtils]: 16: Hoare triple {289#false} call main_#t~ret9#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1); {311#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#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:48:49,165 INFO L290 TraceCheckUtils]: 17: Hoare triple {311#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {288#true} is VALID [2022-02-20 16:48:49,165 INFO L290 TraceCheckUtils]: 18: Hoare triple {288#true} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {288#true} is VALID [2022-02-20 16:48:49,166 INFO L290 TraceCheckUtils]: 19: Hoare triple {288#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {288#true} is VALID [2022-02-20 16:48:49,166 INFO L290 TraceCheckUtils]: 20: Hoare triple {288#true} assume true; {288#true} is VALID [2022-02-20 16:48:49,166 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {288#true} {289#false} #72#return; {289#false} is VALID [2022-02-20 16:48:49,166 INFO L290 TraceCheckUtils]: 22: Hoare triple {289#false} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;havoc main_#t~ret9#1; {289#false} is VALID [2022-02-20 16:48:49,166 INFO L272 TraceCheckUtils]: 23: Hoare triple {289#false} call main_#t~ret10#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3); {311#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#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:48:49,166 INFO L290 TraceCheckUtils]: 24: Hoare triple {311#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {288#true} is VALID [2022-02-20 16:48:49,167 INFO L290 TraceCheckUtils]: 25: Hoare triple {288#true} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {288#true} is VALID [2022-02-20 16:48:49,167 INFO L290 TraceCheckUtils]: 26: Hoare triple {288#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {288#true} is VALID [2022-02-20 16:48:49,167 INFO L290 TraceCheckUtils]: 27: Hoare triple {288#true} assume true; {288#true} is VALID [2022-02-20 16:48:49,167 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {288#true} {289#false} #74#return; {289#false} is VALID [2022-02-20 16:48:49,167 INFO L290 TraceCheckUtils]: 29: Hoare triple {289#false} assume -2147483648 <= main_#t~ret10#1 && main_#t~ret10#1 <= 2147483647;havoc main_#t~ret10#1;assume { :begin_inline_search_list } true;search_list_#in~l#1.base, search_list_#in~l#1.offset, search_list_#in~k#1 := ~head~0.base, ~head~0.offset, 2;havoc search_list_#res#1.base, search_list_#res#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset, search_list_#t~mem3#1, search_list_#t~short4#1, search_list_~l#1.base, search_list_~l#1.offset, search_list_~k#1;search_list_~l#1.base, search_list_~l#1.offset := search_list_#in~l#1.base, search_list_#in~l#1.offset;search_list_~k#1 := search_list_#in~k#1;search_list_~l#1.base, search_list_~l#1.offset := ~head~0.base, ~head~0.offset; {289#false} is VALID [2022-02-20 16:48:49,168 INFO L290 TraceCheckUtils]: 30: Hoare triple {289#false} search_list_#t~short4#1 := search_list_~l#1.base != 0 || search_list_~l#1.offset != 0; {289#false} is VALID [2022-02-20 16:48:49,168 INFO L290 TraceCheckUtils]: 31: Hoare triple {289#false} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~int(search_list_~l#1.base, search_list_~l#1.offset, 4);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {289#false} is VALID [2022-02-20 16:48:49,168 INFO L290 TraceCheckUtils]: 32: Hoare triple {289#false} assume !search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1; {289#false} is VALID [2022-02-20 16:48:49,168 INFO L290 TraceCheckUtils]: 33: Hoare triple {289#false} search_list_#res#1.base, search_list_#res#1.offset := search_list_~l#1.base, search_list_~l#1.offset; {289#false} is VALID [2022-02-20 16:48:49,168 INFO L290 TraceCheckUtils]: 34: Hoare triple {289#false} main_#t~ret11#1.base, main_#t~ret11#1.offset := search_list_#res#1.base, search_list_#res#1.offset;assume { :end_inline_search_list } true;main_~temp~0#1.base, main_~temp~0#1.offset := main_#t~ret11#1.base, main_#t~ret11#1.offset;havoc main_#t~ret11#1.base, main_#t~ret11#1.offset;call main_#t~mem12#1 := read~int(main_~temp~0#1.base, main_~temp~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 1 == main_#t~mem12#1 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {289#false} is VALID [2022-02-20 16:48:49,168 INFO L290 TraceCheckUtils]: 35: Hoare triple {289#false} assume 0 == __VERIFIER_assert_~cond#1; {289#false} is VALID [2022-02-20 16:48:49,169 INFO L290 TraceCheckUtils]: 36: Hoare triple {289#false} assume !false; {289#false} is VALID [2022-02-20 16:48:49,169 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 0 proven. 20 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-02-20 16:48:49,169 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:48:49,169 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1972552007] [2022-02-20 16:48:49,169 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1972552007] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:48:49,170 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [353726624] [2022-02-20 16:48:49,170 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:48:49,170 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:48:49,170 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:48:49,188 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:48:49,196 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:48:49,323 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:49,324 INFO L263 TraceCheckSpWp]: Trace formula consists of 369 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-20 16:48:49,351 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:49,352 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:48:49,499 INFO L290 TraceCheckUtils]: 0: Hoare triple {288#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(16, 2);~head~0.base, ~head~0.offset := 0, 0; {288#true} is VALID [2022-02-20 16:48:49,499 INFO L290 TraceCheckUtils]: 1: Hoare triple {288#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1, main_#t~ret8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~ret11#1.base, main_#t~ret11#1.offset, main_#t~mem12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;havoc main_~mylist~0#1.base, main_~mylist~0#1.offset;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {288#true} is VALID [2022-02-20 16:48:49,500 INFO L272 TraceCheckUtils]: 2: Hoare triple {288#true} call main_#t~ret7#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2); {288#true} is VALID [2022-02-20 16:48:49,501 INFO L290 TraceCheckUtils]: 3: Hoare triple {288#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {312#(or (<= (+ 1 insert_list_~l.base) 0) (not (<= insert_list_~l.base 0)))} is VALID [2022-02-20 16:48:49,501 INFO L290 TraceCheckUtils]: 4: Hoare triple {312#(or (<= (+ 1 insert_list_~l.base) 0) (not (<= insert_list_~l.base 0)))} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {312#(or (<= (+ 1 insert_list_~l.base) 0) (not (<= insert_list_~l.base 0)))} is VALID [2022-02-20 16:48:49,502 INFO L290 TraceCheckUtils]: 5: Hoare triple {312#(or (<= (+ 1 insert_list_~l.base) 0) (not (<= insert_list_~l.base 0)))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {295#(not (= ~head~0.base 0))} is VALID [2022-02-20 16:48:49,502 INFO L290 TraceCheckUtils]: 6: Hoare triple {295#(not (= ~head~0.base 0))} assume true; {295#(not (= ~head~0.base 0))} is VALID [2022-02-20 16:48:49,503 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {295#(not (= ~head~0.base 0))} {288#true} #68#return; {295#(not (= ~head~0.base 0))} is VALID [2022-02-20 16:48:49,503 INFO L290 TraceCheckUtils]: 8: Hoare triple {295#(not (= ~head~0.base 0))} assume -2147483648 <= main_#t~ret7#1 && main_#t~ret7#1 <= 2147483647;havoc main_#t~ret7#1; {295#(not (= ~head~0.base 0))} is VALID [2022-02-20 16:48:49,504 INFO L272 TraceCheckUtils]: 9: Hoare triple {295#(not (= ~head~0.base 0))} call main_#t~ret8#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5); {313#(= |old(~head~0.base)| ~head~0.base)} is VALID [2022-02-20 16:48:49,504 INFO L290 TraceCheckUtils]: 10: Hoare triple {313#(= |old(~head~0.base)| ~head~0.base)} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {313#(= |old(~head~0.base)| ~head~0.base)} is VALID [2022-02-20 16:48:49,505 INFO L290 TraceCheckUtils]: 11: Hoare triple {313#(= |old(~head~0.base)| ~head~0.base)} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {314#(= |old(~head~0.base)| 0)} is VALID [2022-02-20 16:48:49,505 INFO L290 TraceCheckUtils]: 12: Hoare triple {314#(= |old(~head~0.base)| 0)} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {314#(= |old(~head~0.base)| 0)} is VALID [2022-02-20 16:48:49,506 INFO L290 TraceCheckUtils]: 13: Hoare triple {314#(= |old(~head~0.base)| 0)} assume true; {314#(= |old(~head~0.base)| 0)} is VALID [2022-02-20 16:48:49,506 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {314#(= |old(~head~0.base)| 0)} {295#(not (= ~head~0.base 0))} #70#return; {289#false} is VALID [2022-02-20 16:48:49,507 INFO L290 TraceCheckUtils]: 15: Hoare triple {289#false} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;havoc main_#t~ret8#1; {289#false} is VALID [2022-02-20 16:48:49,507 INFO L272 TraceCheckUtils]: 16: Hoare triple {289#false} call main_#t~ret9#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1); {289#false} is VALID [2022-02-20 16:48:49,507 INFO L290 TraceCheckUtils]: 17: Hoare triple {289#false} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {289#false} is VALID [2022-02-20 16:48:49,507 INFO L290 TraceCheckUtils]: 18: Hoare triple {289#false} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {289#false} is VALID [2022-02-20 16:48:49,507 INFO L290 TraceCheckUtils]: 19: Hoare triple {289#false} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {289#false} is VALID [2022-02-20 16:48:49,507 INFO L290 TraceCheckUtils]: 20: Hoare triple {289#false} assume true; {289#false} is VALID [2022-02-20 16:48:49,508 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {289#false} {289#false} #72#return; {289#false} is VALID [2022-02-20 16:48:49,508 INFO L290 TraceCheckUtils]: 22: Hoare triple {289#false} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;havoc main_#t~ret9#1; {289#false} is VALID [2022-02-20 16:48:49,508 INFO L272 TraceCheckUtils]: 23: Hoare triple {289#false} call main_#t~ret10#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3); {289#false} is VALID [2022-02-20 16:48:49,508 INFO L290 TraceCheckUtils]: 24: Hoare triple {289#false} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {289#false} is VALID [2022-02-20 16:48:49,508 INFO L290 TraceCheckUtils]: 25: Hoare triple {289#false} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {289#false} is VALID [2022-02-20 16:48:49,508 INFO L290 TraceCheckUtils]: 26: Hoare triple {289#false} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {289#false} is VALID [2022-02-20 16:48:49,509 INFO L290 TraceCheckUtils]: 27: Hoare triple {289#false} assume true; {289#false} is VALID [2022-02-20 16:48:49,509 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {289#false} {289#false} #74#return; {289#false} is VALID [2022-02-20 16:48:49,509 INFO L290 TraceCheckUtils]: 29: Hoare triple {289#false} assume -2147483648 <= main_#t~ret10#1 && main_#t~ret10#1 <= 2147483647;havoc main_#t~ret10#1;assume { :begin_inline_search_list } true;search_list_#in~l#1.base, search_list_#in~l#1.offset, search_list_#in~k#1 := ~head~0.base, ~head~0.offset, 2;havoc search_list_#res#1.base, search_list_#res#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset, search_list_#t~mem3#1, search_list_#t~short4#1, search_list_~l#1.base, search_list_~l#1.offset, search_list_~k#1;search_list_~l#1.base, search_list_~l#1.offset := search_list_#in~l#1.base, search_list_#in~l#1.offset;search_list_~k#1 := search_list_#in~k#1;search_list_~l#1.base, search_list_~l#1.offset := ~head~0.base, ~head~0.offset; {289#false} is VALID [2022-02-20 16:48:49,509 INFO L290 TraceCheckUtils]: 30: Hoare triple {289#false} search_list_#t~short4#1 := search_list_~l#1.base != 0 || search_list_~l#1.offset != 0; {289#false} is VALID [2022-02-20 16:48:49,509 INFO L290 TraceCheckUtils]: 31: Hoare triple {289#false} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~int(search_list_~l#1.base, search_list_~l#1.offset, 4);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {289#false} is VALID [2022-02-20 16:48:49,509 INFO L290 TraceCheckUtils]: 32: Hoare triple {289#false} assume !search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1; {289#false} is VALID [2022-02-20 16:48:49,510 INFO L290 TraceCheckUtils]: 33: Hoare triple {289#false} search_list_#res#1.base, search_list_#res#1.offset := search_list_~l#1.base, search_list_~l#1.offset; {289#false} is VALID [2022-02-20 16:48:49,510 INFO L290 TraceCheckUtils]: 34: Hoare triple {289#false} main_#t~ret11#1.base, main_#t~ret11#1.offset := search_list_#res#1.base, search_list_#res#1.offset;assume { :end_inline_search_list } true;main_~temp~0#1.base, main_~temp~0#1.offset := main_#t~ret11#1.base, main_#t~ret11#1.offset;havoc main_#t~ret11#1.base, main_#t~ret11#1.offset;call main_#t~mem12#1 := read~int(main_~temp~0#1.base, main_~temp~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 1 == main_#t~mem12#1 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {289#false} is VALID [2022-02-20 16:48:49,510 INFO L290 TraceCheckUtils]: 35: Hoare triple {289#false} assume 0 == __VERIFIER_assert_~cond#1; {289#false} is VALID [2022-02-20 16:48:49,510 INFO L290 TraceCheckUtils]: 36: Hoare triple {289#false} assume !false; {289#false} is VALID [2022-02-20 16:48:49,510 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 21 proven. 4 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-20 16:48:49,510 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:48:49,741 INFO L290 TraceCheckUtils]: 36: Hoare triple {289#false} assume !false; {289#false} is VALID [2022-02-20 16:48:49,742 INFO L290 TraceCheckUtils]: 35: Hoare triple {289#false} assume 0 == __VERIFIER_assert_~cond#1; {289#false} is VALID [2022-02-20 16:48:49,742 INFO L290 TraceCheckUtils]: 34: Hoare triple {289#false} main_#t~ret11#1.base, main_#t~ret11#1.offset := search_list_#res#1.base, search_list_#res#1.offset;assume { :end_inline_search_list } true;main_~temp~0#1.base, main_~temp~0#1.offset := main_#t~ret11#1.base, main_#t~ret11#1.offset;havoc main_#t~ret11#1.base, main_#t~ret11#1.offset;call main_#t~mem12#1 := read~int(main_~temp~0#1.base, main_~temp~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 1 == main_#t~mem12#1 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {289#false} is VALID [2022-02-20 16:48:49,742 INFO L290 TraceCheckUtils]: 33: Hoare triple {289#false} search_list_#res#1.base, search_list_#res#1.offset := search_list_~l#1.base, search_list_~l#1.offset; {289#false} is VALID [2022-02-20 16:48:49,742 INFO L290 TraceCheckUtils]: 32: Hoare triple {289#false} assume !search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1; {289#false} is VALID [2022-02-20 16:48:49,742 INFO L290 TraceCheckUtils]: 31: Hoare triple {289#false} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~int(search_list_~l#1.base, search_list_~l#1.offset, 4);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {289#false} is VALID [2022-02-20 16:48:49,743 INFO L290 TraceCheckUtils]: 30: Hoare triple {289#false} search_list_#t~short4#1 := search_list_~l#1.base != 0 || search_list_~l#1.offset != 0; {289#false} is VALID [2022-02-20 16:48:49,743 INFO L290 TraceCheckUtils]: 29: Hoare triple {289#false} assume -2147483648 <= main_#t~ret10#1 && main_#t~ret10#1 <= 2147483647;havoc main_#t~ret10#1;assume { :begin_inline_search_list } true;search_list_#in~l#1.base, search_list_#in~l#1.offset, search_list_#in~k#1 := ~head~0.base, ~head~0.offset, 2;havoc search_list_#res#1.base, search_list_#res#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset, search_list_#t~mem3#1, search_list_#t~short4#1, search_list_~l#1.base, search_list_~l#1.offset, search_list_~k#1;search_list_~l#1.base, search_list_~l#1.offset := search_list_#in~l#1.base, search_list_#in~l#1.offset;search_list_~k#1 := search_list_#in~k#1;search_list_~l#1.base, search_list_~l#1.offset := ~head~0.base, ~head~0.offset; {289#false} is VALID [2022-02-20 16:48:49,743 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {288#true} {289#false} #74#return; {289#false} is VALID [2022-02-20 16:48:49,743 INFO L290 TraceCheckUtils]: 27: Hoare triple {288#true} assume true; {288#true} is VALID [2022-02-20 16:48:49,743 INFO L290 TraceCheckUtils]: 26: Hoare triple {288#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {288#true} is VALID [2022-02-20 16:48:49,743 INFO L290 TraceCheckUtils]: 25: Hoare triple {288#true} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {288#true} is VALID [2022-02-20 16:48:49,744 INFO L290 TraceCheckUtils]: 24: Hoare triple {288#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {288#true} is VALID [2022-02-20 16:48:49,744 INFO L272 TraceCheckUtils]: 23: Hoare triple {289#false} call main_#t~ret10#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3); {288#true} is VALID [2022-02-20 16:48:49,744 INFO L290 TraceCheckUtils]: 22: Hoare triple {289#false} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;havoc main_#t~ret9#1; {289#false} is VALID [2022-02-20 16:48:49,744 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {288#true} {289#false} #72#return; {289#false} is VALID [2022-02-20 16:48:49,744 INFO L290 TraceCheckUtils]: 20: Hoare triple {288#true} assume true; {288#true} is VALID [2022-02-20 16:48:49,744 INFO L290 TraceCheckUtils]: 19: Hoare triple {288#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {288#true} is VALID [2022-02-20 16:48:49,745 INFO L290 TraceCheckUtils]: 18: Hoare triple {288#true} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {288#true} is VALID [2022-02-20 16:48:49,745 INFO L290 TraceCheckUtils]: 17: Hoare triple {288#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {288#true} is VALID [2022-02-20 16:48:49,745 INFO L272 TraceCheckUtils]: 16: Hoare triple {289#false} call main_#t~ret9#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1); {288#true} is VALID [2022-02-20 16:48:49,745 INFO L290 TraceCheckUtils]: 15: Hoare triple {289#false} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;havoc main_#t~ret8#1; {289#false} is VALID [2022-02-20 16:48:49,746 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {314#(= |old(~head~0.base)| 0)} {295#(not (= ~head~0.base 0))} #70#return; {289#false} is VALID [2022-02-20 16:48:49,746 INFO L290 TraceCheckUtils]: 13: Hoare triple {314#(= |old(~head~0.base)| 0)} assume true; {314#(= |old(~head~0.base)| 0)} is VALID [2022-02-20 16:48:49,747 INFO L290 TraceCheckUtils]: 12: Hoare triple {314#(= |old(~head~0.base)| 0)} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {314#(= |old(~head~0.base)| 0)} is VALID [2022-02-20 16:48:49,747 INFO L290 TraceCheckUtils]: 11: Hoare triple {504#(or (= |old(~head~0.base)| 0) (not (= ~head~0.base 0)))} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {314#(= |old(~head~0.base)| 0)} is VALID [2022-02-20 16:48:49,748 INFO L290 TraceCheckUtils]: 10: Hoare triple {504#(or (= |old(~head~0.base)| 0) (not (= ~head~0.base 0)))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {504#(or (= |old(~head~0.base)| 0) (not (= ~head~0.base 0)))} is VALID [2022-02-20 16:48:49,748 INFO L272 TraceCheckUtils]: 9: Hoare triple {295#(not (= ~head~0.base 0))} call main_#t~ret8#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5); {504#(or (= |old(~head~0.base)| 0) (not (= ~head~0.base 0)))} is VALID [2022-02-20 16:48:49,749 INFO L290 TraceCheckUtils]: 8: Hoare triple {295#(not (= ~head~0.base 0))} assume -2147483648 <= main_#t~ret7#1 && main_#t~ret7#1 <= 2147483647;havoc main_#t~ret7#1; {295#(not (= ~head~0.base 0))} is VALID [2022-02-20 16:48:49,749 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {295#(not (= ~head~0.base 0))} {288#true} #68#return; {295#(not (= ~head~0.base 0))} is VALID [2022-02-20 16:48:49,750 INFO L290 TraceCheckUtils]: 6: Hoare triple {295#(not (= ~head~0.base 0))} assume true; {295#(not (= ~head~0.base 0))} is VALID [2022-02-20 16:48:49,750 INFO L290 TraceCheckUtils]: 5: Hoare triple {312#(or (<= (+ 1 insert_list_~l.base) 0) (not (<= insert_list_~l.base 0)))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {295#(not (= ~head~0.base 0))} is VALID [2022-02-20 16:48:49,751 INFO L290 TraceCheckUtils]: 4: Hoare triple {312#(or (<= (+ 1 insert_list_~l.base) 0) (not (<= insert_list_~l.base 0)))} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {312#(or (<= (+ 1 insert_list_~l.base) 0) (not (<= insert_list_~l.base 0)))} is VALID [2022-02-20 16:48:49,752 INFO L290 TraceCheckUtils]: 3: Hoare triple {288#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {312#(or (<= (+ 1 insert_list_~l.base) 0) (not (<= insert_list_~l.base 0)))} is VALID [2022-02-20 16:48:49,752 INFO L272 TraceCheckUtils]: 2: Hoare triple {288#true} call main_#t~ret7#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2); {288#true} is VALID [2022-02-20 16:48:49,752 INFO L290 TraceCheckUtils]: 1: Hoare triple {288#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1, main_#t~ret8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~ret11#1.base, main_#t~ret11#1.offset, main_#t~mem12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;havoc main_~mylist~0#1.base, main_~mylist~0#1.offset;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {288#true} is VALID [2022-02-20 16:48:49,752 INFO L290 TraceCheckUtils]: 0: Hoare triple {288#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(16, 2);~head~0.base, ~head~0.offset := 0, 0; {288#true} is VALID [2022-02-20 16:48:49,752 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 1 proven. 22 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 16:48:49,753 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [353726624] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:48:49,753 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 16:48:49,753 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6, 6] total 8 [2022-02-20 16:48:49,753 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [363133570] [2022-02-20 16:48:49,753 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 16:48:49,754 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) Word has length 37 [2022-02-20 16:48:49,757 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:48:49,757 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 16:48:49,789 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:48:49,790 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 16:48:49,790 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:48:49,790 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 16:48:49,790 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=38, Unknown=0, NotChecked=0, Total=56 [2022-02-20 16:48:49,791 INFO L87 Difference]: Start difference. First operand 23 states and 28 transitions. Second operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 16:48:50,019 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:50,019 INFO L93 Difference]: Finished difference Result 47 states and 59 transitions. [2022-02-20 16:48:50,019 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 16:48:50,020 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) Word has length 37 [2022-02-20 16:48:50,020 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:48:50,020 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 16:48:50,022 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 59 transitions. [2022-02-20 16:48:50,023 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 16:48:50,024 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 59 transitions. [2022-02-20 16:48:50,025 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 59 transitions. [2022-02-20 16:48:50,071 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:48:50,072 INFO L225 Difference]: With dead ends: 47 [2022-02-20 16:48:50,072 INFO L226 Difference]: Without dead ends: 29 [2022-02-20 16:48:50,072 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 77 SyntacticMatches, 4 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=56, Invalid=126, Unknown=0, NotChecked=0, Total=182 [2022-02-20 16:48:50,073 INFO L933 BasicCegarLoop]: 23 mSDtfsCounter, 38 mSDsluCounter, 54 mSDsCounter, 0 mSdLazyCounter, 36 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 38 SdHoareTripleChecker+Valid, 77 SdHoareTripleChecker+Invalid, 58 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 36 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 16:48:50,073 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [38 Valid, 77 Invalid, 58 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 36 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 16:48:50,074 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-02-20 16:48:50,076 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 28. [2022-02-20 16:48:50,076 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:48:50,076 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand has 28 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 21 states have internal predecessors, (24), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:48:50,077 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand has 28 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 21 states have internal predecessors, (24), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:48:50,077 INFO L87 Difference]: Start difference. First operand 29 states. Second operand has 28 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 21 states have internal predecessors, (24), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:48:50,078 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:50,079 INFO L93 Difference]: Finished difference Result 29 states and 34 transitions. [2022-02-20 16:48:50,079 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 34 transitions. [2022-02-20 16:48:50,079 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:48:50,079 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:48:50,079 INFO L74 IsIncluded]: Start isIncluded. First operand has 28 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 21 states have internal predecessors, (24), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 29 states. [2022-02-20 16:48:50,080 INFO L87 Difference]: Start difference. First operand has 28 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 21 states have internal predecessors, (24), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 29 states. [2022-02-20 16:48:50,081 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:50,081 INFO L93 Difference]: Finished difference Result 29 states and 34 transitions. [2022-02-20 16:48:50,081 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 34 transitions. [2022-02-20 16:48:50,082 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:48:50,082 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:48:50,082 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:48:50,082 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:48:50,082 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 21 states have internal predecessors, (24), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:48:50,084 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 33 transitions. [2022-02-20 16:48:50,084 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 33 transitions. Word has length 37 [2022-02-20 16:48:50,084 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:48:50,084 INFO L470 AbstractCegarLoop]: Abstraction has 28 states and 33 transitions. [2022-02-20 16:48:50,085 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 16:48:50,085 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 33 transitions. [2022-02-20 16:48:50,085 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-02-20 16:48:50,086 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:48:50,086 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 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:48:50,104 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:48:50,297 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable1 [2022-02-20 16:48:50,297 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:48:50,298 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:48:50,298 INFO L85 PathProgramCache]: Analyzing trace with hash -2113798375, now seen corresponding path program 1 times [2022-02-20 16:48:50,298 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:48:50,298 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [725758850] [2022-02-20 16:48:50,298 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:48:50,298 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:48:50,352 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:50,425 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:48:50,428 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:50,431 INFO L290 TraceCheckUtils]: 0: Hoare triple {727#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {702#true} is VALID [2022-02-20 16:48:50,432 INFO L290 TraceCheckUtils]: 1: Hoare triple {702#true} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {702#true} is VALID [2022-02-20 16:48:50,432 INFO L290 TraceCheckUtils]: 2: Hoare triple {702#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {702#true} is VALID [2022-02-20 16:48:50,432 INFO L290 TraceCheckUtils]: 3: Hoare triple {702#true} assume true; {702#true} is VALID [2022-02-20 16:48:50,432 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {702#true} {702#true} #68#return; {702#true} is VALID [2022-02-20 16:48:50,432 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 16:48:50,435 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:50,439 INFO L290 TraceCheckUtils]: 0: Hoare triple {727#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {702#true} is VALID [2022-02-20 16:48:50,439 INFO L290 TraceCheckUtils]: 1: Hoare triple {702#true} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {702#true} is VALID [2022-02-20 16:48:50,439 INFO L290 TraceCheckUtils]: 2: Hoare triple {702#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {702#true} is VALID [2022-02-20 16:48:50,440 INFO L290 TraceCheckUtils]: 3: Hoare triple {702#true} assume true; {702#true} is VALID [2022-02-20 16:48:50,440 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {702#true} {702#true} #70#return; {702#true} is VALID [2022-02-20 16:48:50,440 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-02-20 16:48:50,443 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:50,447 INFO L290 TraceCheckUtils]: 0: Hoare triple {727#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {702#true} is VALID [2022-02-20 16:48:50,447 INFO L290 TraceCheckUtils]: 1: Hoare triple {702#true} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {702#true} is VALID [2022-02-20 16:48:50,447 INFO L290 TraceCheckUtils]: 2: Hoare triple {702#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {702#true} is VALID [2022-02-20 16:48:50,448 INFO L290 TraceCheckUtils]: 3: Hoare triple {702#true} assume true; {702#true} is VALID [2022-02-20 16:48:50,448 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {702#true} {702#true} #72#return; {702#true} is VALID [2022-02-20 16:48:50,448 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-02-20 16:48:50,453 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:50,475 INFO L290 TraceCheckUtils]: 0: Hoare triple {727#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {728#(= |insert_list_#in~k| insert_list_~k)} is VALID [2022-02-20 16:48:50,476 INFO L290 TraceCheckUtils]: 1: Hoare triple {728#(= |insert_list_#in~k| insert_list_~k)} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {729#(= |insert_list_#in~k| (select (select |#memory_int| insert_list_~l.base) insert_list_~l.offset))} is VALID [2022-02-20 16:48:50,476 INFO L290 TraceCheckUtils]: 2: Hoare triple {729#(= |insert_list_#in~k| (select (select |#memory_int| insert_list_~l.base) insert_list_~l.offset))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {730#(= (select (select |#memory_int| ~head~0.base) ~head~0.offset) |insert_list_#in~k|)} is VALID [2022-02-20 16:48:50,477 INFO L290 TraceCheckUtils]: 3: Hoare triple {730#(= (select (select |#memory_int| ~head~0.base) ~head~0.offset) |insert_list_#in~k|)} assume true; {730#(= (select (select |#memory_int| ~head~0.base) ~head~0.offset) |insert_list_#in~k|)} is VALID [2022-02-20 16:48:50,478 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {730#(= (select (select |#memory_int| ~head~0.base) ~head~0.offset) |insert_list_#in~k|)} {702#true} #74#return; {724#(not (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) 2))} is VALID [2022-02-20 16:48:50,478 INFO L290 TraceCheckUtils]: 0: Hoare triple {702#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(16, 2);~head~0.base, ~head~0.offset := 0, 0; {702#true} is VALID [2022-02-20 16:48:50,478 INFO L290 TraceCheckUtils]: 1: Hoare triple {702#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1, main_#t~ret8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~ret11#1.base, main_#t~ret11#1.offset, main_#t~mem12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;havoc main_~mylist~0#1.base, main_~mylist~0#1.offset;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {702#true} is VALID [2022-02-20 16:48:50,479 INFO L272 TraceCheckUtils]: 2: Hoare triple {702#true} call main_#t~ret7#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2); {727#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#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:48:50,479 INFO L290 TraceCheckUtils]: 3: Hoare triple {727#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {702#true} is VALID [2022-02-20 16:48:50,479 INFO L290 TraceCheckUtils]: 4: Hoare triple {702#true} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {702#true} is VALID [2022-02-20 16:48:50,479 INFO L290 TraceCheckUtils]: 5: Hoare triple {702#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {702#true} is VALID [2022-02-20 16:48:50,480 INFO L290 TraceCheckUtils]: 6: Hoare triple {702#true} assume true; {702#true} is VALID [2022-02-20 16:48:50,480 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {702#true} {702#true} #68#return; {702#true} is VALID [2022-02-20 16:48:50,480 INFO L290 TraceCheckUtils]: 8: Hoare triple {702#true} assume -2147483648 <= main_#t~ret7#1 && main_#t~ret7#1 <= 2147483647;havoc main_#t~ret7#1; {702#true} is VALID [2022-02-20 16:48:50,481 INFO L272 TraceCheckUtils]: 9: Hoare triple {702#true} call main_#t~ret8#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5); {727#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#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:48:50,481 INFO L290 TraceCheckUtils]: 10: Hoare triple {727#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {702#true} is VALID [2022-02-20 16:48:50,481 INFO L290 TraceCheckUtils]: 11: Hoare triple {702#true} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {702#true} is VALID [2022-02-20 16:48:50,481 INFO L290 TraceCheckUtils]: 12: Hoare triple {702#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {702#true} is VALID [2022-02-20 16:48:50,481 INFO L290 TraceCheckUtils]: 13: Hoare triple {702#true} assume true; {702#true} is VALID [2022-02-20 16:48:50,482 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {702#true} {702#true} #70#return; {702#true} is VALID [2022-02-20 16:48:50,482 INFO L290 TraceCheckUtils]: 15: Hoare triple {702#true} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;havoc main_#t~ret8#1; {702#true} is VALID [2022-02-20 16:48:50,483 INFO L272 TraceCheckUtils]: 16: Hoare triple {702#true} call main_#t~ret9#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1); {727#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#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:48:50,483 INFO L290 TraceCheckUtils]: 17: Hoare triple {727#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {702#true} is VALID [2022-02-20 16:48:50,483 INFO L290 TraceCheckUtils]: 18: Hoare triple {702#true} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {702#true} is VALID [2022-02-20 16:48:50,483 INFO L290 TraceCheckUtils]: 19: Hoare triple {702#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {702#true} is VALID [2022-02-20 16:48:50,483 INFO L290 TraceCheckUtils]: 20: Hoare triple {702#true} assume true; {702#true} is VALID [2022-02-20 16:48:50,483 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {702#true} {702#true} #72#return; {702#true} is VALID [2022-02-20 16:48:50,484 INFO L290 TraceCheckUtils]: 22: Hoare triple {702#true} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;havoc main_#t~ret9#1; {702#true} is VALID [2022-02-20 16:48:50,484 INFO L272 TraceCheckUtils]: 23: Hoare triple {702#true} call main_#t~ret10#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3); {727#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#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:48:50,485 INFO L290 TraceCheckUtils]: 24: Hoare triple {727#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {728#(= |insert_list_#in~k| insert_list_~k)} is VALID [2022-02-20 16:48:50,486 INFO L290 TraceCheckUtils]: 25: Hoare triple {728#(= |insert_list_#in~k| insert_list_~k)} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {729#(= |insert_list_#in~k| (select (select |#memory_int| insert_list_~l.base) insert_list_~l.offset))} is VALID [2022-02-20 16:48:50,486 INFO L290 TraceCheckUtils]: 26: Hoare triple {729#(= |insert_list_#in~k| (select (select |#memory_int| insert_list_~l.base) insert_list_~l.offset))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {730#(= (select (select |#memory_int| ~head~0.base) ~head~0.offset) |insert_list_#in~k|)} is VALID [2022-02-20 16:48:50,487 INFO L290 TraceCheckUtils]: 27: Hoare triple {730#(= (select (select |#memory_int| ~head~0.base) ~head~0.offset) |insert_list_#in~k|)} assume true; {730#(= (select (select |#memory_int| ~head~0.base) ~head~0.offset) |insert_list_#in~k|)} is VALID [2022-02-20 16:48:50,487 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {730#(= (select (select |#memory_int| ~head~0.base) ~head~0.offset) |insert_list_#in~k|)} {702#true} #74#return; {724#(not (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) 2))} is VALID [2022-02-20 16:48:50,488 INFO L290 TraceCheckUtils]: 29: Hoare triple {724#(not (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) 2))} assume -2147483648 <= main_#t~ret10#1 && main_#t~ret10#1 <= 2147483647;havoc main_#t~ret10#1;assume { :begin_inline_search_list } true;search_list_#in~l#1.base, search_list_#in~l#1.offset, search_list_#in~k#1 := ~head~0.base, ~head~0.offset, 2;havoc search_list_#res#1.base, search_list_#res#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset, search_list_#t~mem3#1, search_list_#t~short4#1, search_list_~l#1.base, search_list_~l#1.offset, search_list_~k#1;search_list_~l#1.base, search_list_~l#1.offset := search_list_#in~l#1.base, search_list_#in~l#1.offset;search_list_~k#1 := search_list_#in~k#1;search_list_~l#1.base, search_list_~l#1.offset := ~head~0.base, ~head~0.offset; {725#(not (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) |ULTIMATE.start_search_list_~k#1|))} is VALID [2022-02-20 16:48:50,488 INFO L290 TraceCheckUtils]: 30: Hoare triple {725#(not (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) |ULTIMATE.start_search_list_~k#1|))} search_list_#t~short4#1 := search_list_~l#1.base != 0 || search_list_~l#1.offset != 0; {725#(not (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) |ULTIMATE.start_search_list_~k#1|))} is VALID [2022-02-20 16:48:50,489 INFO L290 TraceCheckUtils]: 31: Hoare triple {725#(not (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) |ULTIMATE.start_search_list_~k#1|))} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~int(search_list_~l#1.base, search_list_~l#1.offset, 4);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {726#|ULTIMATE.start_search_list_#t~short4#1|} is VALID [2022-02-20 16:48:50,489 INFO L290 TraceCheckUtils]: 32: Hoare triple {726#|ULTIMATE.start_search_list_#t~short4#1|} assume !search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1; {703#false} is VALID [2022-02-20 16:48:50,489 INFO L290 TraceCheckUtils]: 33: Hoare triple {703#false} search_list_#res#1.base, search_list_#res#1.offset := search_list_~l#1.base, search_list_~l#1.offset; {703#false} is VALID [2022-02-20 16:48:50,489 INFO L290 TraceCheckUtils]: 34: Hoare triple {703#false} main_#t~ret11#1.base, main_#t~ret11#1.offset := search_list_#res#1.base, search_list_#res#1.offset;assume { :end_inline_search_list } true;main_~temp~0#1.base, main_~temp~0#1.offset := main_#t~ret11#1.base, main_#t~ret11#1.offset;havoc main_#t~ret11#1.base, main_#t~ret11#1.offset;call main_#t~mem12#1 := read~int(main_~temp~0#1.base, main_~temp~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 1 == main_#t~mem12#1 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {703#false} is VALID [2022-02-20 16:48:50,489 INFO L290 TraceCheckUtils]: 35: Hoare triple {703#false} assume 0 == __VERIFIER_assert_~cond#1; {703#false} is VALID [2022-02-20 16:48:50,490 INFO L290 TraceCheckUtils]: 36: Hoare triple {703#false} assume !false; {703#false} is VALID [2022-02-20 16:48:50,490 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-02-20 16:48:50,490 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:48:50,490 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [725758850] [2022-02-20 16:48:50,490 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [725758850] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:48:50,491 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:48:50,491 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-02-20 16:48:50,491 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1711582079] [2022-02-20 16:48:50,491 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:48:50,491 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 7 states have internal predecessors, (22), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 37 [2022-02-20 16:48:50,492 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:48:50,492 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 7 states have internal predecessors, (22), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:48:50,529 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:48:50,529 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 16:48:50,530 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:48:50,530 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 16:48:50,530 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=57, Unknown=0, NotChecked=0, Total=72 [2022-02-20 16:48:50,530 INFO L87 Difference]: Start difference. First operand 28 states and 33 transitions. Second operand has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 7 states have internal predecessors, (22), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:48:50,856 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:50,856 INFO L93 Difference]: Finished difference Result 43 states and 49 transitions. [2022-02-20 16:48:50,856 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 16:48:50,856 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 7 states have internal predecessors, (22), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 37 [2022-02-20 16:48:50,857 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:48:50,857 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 7 states have internal predecessors, (22), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:48:50,858 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 44 transitions. [2022-02-20 16:48:50,858 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 7 states have internal predecessors, (22), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:48:50,859 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 44 transitions. [2022-02-20 16:48:50,859 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 44 transitions. [2022-02-20 16:48:50,894 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:48:50,895 INFO L225 Difference]: With dead ends: 43 [2022-02-20 16:48:50,895 INFO L226 Difference]: Without dead ends: 38 [2022-02-20 16:48:50,897 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 10 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=39, Invalid=143, Unknown=0, NotChecked=0, Total=182 [2022-02-20 16:48:50,898 INFO L933 BasicCegarLoop]: 14 mSDtfsCounter, 33 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 120 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 76 SdHoareTripleChecker+Invalid, 128 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 120 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 16:48:50,898 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [33 Valid, 76 Invalid, 128 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 120 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 16:48:50,898 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-02-20 16:48:50,901 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 31. [2022-02-20 16:48:50,901 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:48:50,901 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand has 31 states, 24 states have (on average 1.1666666666666667) internal successors, (28), 24 states have internal predecessors, (28), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:48:50,901 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand has 31 states, 24 states have (on average 1.1666666666666667) internal successors, (28), 24 states have internal predecessors, (28), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:48:50,901 INFO L87 Difference]: Start difference. First operand 38 states. Second operand has 31 states, 24 states have (on average 1.1666666666666667) internal successors, (28), 24 states have internal predecessors, (28), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:48:50,903 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:50,903 INFO L93 Difference]: Finished difference Result 38 states and 44 transitions. [2022-02-20 16:48:50,903 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 44 transitions. [2022-02-20 16:48:50,904 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:48:50,904 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:48:50,904 INFO L74 IsIncluded]: Start isIncluded. First operand has 31 states, 24 states have (on average 1.1666666666666667) internal successors, (28), 24 states have internal predecessors, (28), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 38 states. [2022-02-20 16:48:50,904 INFO L87 Difference]: Start difference. First operand has 31 states, 24 states have (on average 1.1666666666666667) internal successors, (28), 24 states have internal predecessors, (28), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 38 states. [2022-02-20 16:48:50,905 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:50,906 INFO L93 Difference]: Finished difference Result 38 states and 44 transitions. [2022-02-20 16:48:50,906 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 44 transitions. [2022-02-20 16:48:50,906 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:48:50,906 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:48:50,906 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:48:50,906 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:48:50,907 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 24 states have (on average 1.1666666666666667) internal successors, (28), 24 states have internal predecessors, (28), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:48:50,908 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 37 transitions. [2022-02-20 16:48:50,908 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 37 transitions. Word has length 37 [2022-02-20 16:48:50,908 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:48:50,908 INFO L470 AbstractCegarLoop]: Abstraction has 31 states and 37 transitions. [2022-02-20 16:48:50,908 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 7 states have internal predecessors, (22), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:48:50,908 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 37 transitions. [2022-02-20 16:48:50,909 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-02-20 16:48:50,909 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:48:50,909 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 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:48:50,909 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 16:48:50,909 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:48:50,910 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:48:50,910 INFO L85 PathProgramCache]: Analyzing trace with hash -2056540073, now seen corresponding path program 1 times [2022-02-20 16:48:50,910 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:48:50,910 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [764451836] [2022-02-20 16:48:50,910 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:48:50,910 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:48:50,939 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:50,970 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:48:50,972 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:50,976 INFO L290 TraceCheckUtils]: 0: Hoare triple {939#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {914#true} is VALID [2022-02-20 16:48:50,976 INFO L290 TraceCheckUtils]: 1: Hoare triple {914#true} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {914#true} is VALID [2022-02-20 16:48:50,976 INFO L290 TraceCheckUtils]: 2: Hoare triple {914#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {914#true} is VALID [2022-02-20 16:48:50,976 INFO L290 TraceCheckUtils]: 3: Hoare triple {914#true} assume true; {914#true} is VALID [2022-02-20 16:48:50,976 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {914#true} {914#true} #68#return; {914#true} is VALID [2022-02-20 16:48:50,977 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 16:48:50,979 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:50,983 INFO L290 TraceCheckUtils]: 0: Hoare triple {939#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {914#true} is VALID [2022-02-20 16:48:50,983 INFO L290 TraceCheckUtils]: 1: Hoare triple {914#true} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {914#true} is VALID [2022-02-20 16:48:50,983 INFO L290 TraceCheckUtils]: 2: Hoare triple {914#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {914#true} is VALID [2022-02-20 16:48:50,983 INFO L290 TraceCheckUtils]: 3: Hoare triple {914#true} assume true; {914#true} is VALID [2022-02-20 16:48:50,983 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {914#true} {914#true} #70#return; {914#true} is VALID [2022-02-20 16:48:50,983 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-02-20 16:48:50,986 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:51,004 INFO L290 TraceCheckUtils]: 0: Hoare triple {939#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {914#true} is VALID [2022-02-20 16:48:51,005 INFO L290 TraceCheckUtils]: 1: Hoare triple {914#true} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {914#true} is VALID [2022-02-20 16:48:51,005 INFO L290 TraceCheckUtils]: 2: Hoare triple {914#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {914#true} is VALID [2022-02-20 16:48:51,005 INFO L290 TraceCheckUtils]: 3: Hoare triple {914#true} assume true; {914#true} is VALID [2022-02-20 16:48:51,005 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {914#true} {914#true} #72#return; {914#true} is VALID [2022-02-20 16:48:51,005 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-02-20 16:48:51,010 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:51,044 INFO L290 TraceCheckUtils]: 0: Hoare triple {939#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {940#(or (<= (+ 1 insert_list_~l.base) 0) (not (<= insert_list_~l.base 0)))} is VALID [2022-02-20 16:48:51,045 INFO L290 TraceCheckUtils]: 1: Hoare triple {940#(or (<= (+ 1 insert_list_~l.base) 0) (not (<= insert_list_~l.base 0)))} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {940#(or (<= (+ 1 insert_list_~l.base) 0) (not (<= insert_list_~l.base 0)))} is VALID [2022-02-20 16:48:51,045 INFO L290 TraceCheckUtils]: 2: Hoare triple {940#(or (<= (+ 1 insert_list_~l.base) 0) (not (<= insert_list_~l.base 0)))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {936#(not (= ~head~0.base 0))} is VALID [2022-02-20 16:48:51,046 INFO L290 TraceCheckUtils]: 3: Hoare triple {936#(not (= ~head~0.base 0))} assume true; {936#(not (= ~head~0.base 0))} is VALID [2022-02-20 16:48:51,047 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {936#(not (= ~head~0.base 0))} {914#true} #74#return; {936#(not (= ~head~0.base 0))} is VALID [2022-02-20 16:48:51,047 INFO L290 TraceCheckUtils]: 0: Hoare triple {914#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(16, 2);~head~0.base, ~head~0.offset := 0, 0; {914#true} is VALID [2022-02-20 16:48:51,047 INFO L290 TraceCheckUtils]: 1: Hoare triple {914#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1, main_#t~ret8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~ret11#1.base, main_#t~ret11#1.offset, main_#t~mem12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;havoc main_~mylist~0#1.base, main_~mylist~0#1.offset;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {914#true} is VALID [2022-02-20 16:48:51,048 INFO L272 TraceCheckUtils]: 2: Hoare triple {914#true} call main_#t~ret7#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2); {939#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#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:48:51,048 INFO L290 TraceCheckUtils]: 3: Hoare triple {939#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {914#true} is VALID [2022-02-20 16:48:51,048 INFO L290 TraceCheckUtils]: 4: Hoare triple {914#true} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {914#true} is VALID [2022-02-20 16:48:51,048 INFO L290 TraceCheckUtils]: 5: Hoare triple {914#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {914#true} is VALID [2022-02-20 16:48:51,048 INFO L290 TraceCheckUtils]: 6: Hoare triple {914#true} assume true; {914#true} is VALID [2022-02-20 16:48:51,048 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {914#true} {914#true} #68#return; {914#true} is VALID [2022-02-20 16:48:51,048 INFO L290 TraceCheckUtils]: 8: Hoare triple {914#true} assume -2147483648 <= main_#t~ret7#1 && main_#t~ret7#1 <= 2147483647;havoc main_#t~ret7#1; {914#true} is VALID [2022-02-20 16:48:51,049 INFO L272 TraceCheckUtils]: 9: Hoare triple {914#true} call main_#t~ret8#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5); {939#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#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:48:51,049 INFO L290 TraceCheckUtils]: 10: Hoare triple {939#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {914#true} is VALID [2022-02-20 16:48:51,050 INFO L290 TraceCheckUtils]: 11: Hoare triple {914#true} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {914#true} is VALID [2022-02-20 16:48:51,050 INFO L290 TraceCheckUtils]: 12: Hoare triple {914#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {914#true} is VALID [2022-02-20 16:48:51,050 INFO L290 TraceCheckUtils]: 13: Hoare triple {914#true} assume true; {914#true} is VALID [2022-02-20 16:48:51,050 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {914#true} {914#true} #70#return; {914#true} is VALID [2022-02-20 16:48:51,050 INFO L290 TraceCheckUtils]: 15: Hoare triple {914#true} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;havoc main_#t~ret8#1; {914#true} is VALID [2022-02-20 16:48:51,051 INFO L272 TraceCheckUtils]: 16: Hoare triple {914#true} call main_#t~ret9#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1); {939#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#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:48:51,051 INFO L290 TraceCheckUtils]: 17: Hoare triple {939#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {914#true} is VALID [2022-02-20 16:48:51,051 INFO L290 TraceCheckUtils]: 18: Hoare triple {914#true} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {914#true} is VALID [2022-02-20 16:48:51,052 INFO L290 TraceCheckUtils]: 19: Hoare triple {914#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {914#true} is VALID [2022-02-20 16:48:51,052 INFO L290 TraceCheckUtils]: 20: Hoare triple {914#true} assume true; {914#true} is VALID [2022-02-20 16:48:51,052 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {914#true} {914#true} #72#return; {914#true} is VALID [2022-02-20 16:48:51,052 INFO L290 TraceCheckUtils]: 22: Hoare triple {914#true} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;havoc main_#t~ret9#1; {914#true} is VALID [2022-02-20 16:48:51,053 INFO L272 TraceCheckUtils]: 23: Hoare triple {914#true} call main_#t~ret10#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3); {939#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#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:48:51,054 INFO L290 TraceCheckUtils]: 24: Hoare triple {939#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {940#(or (<= (+ 1 insert_list_~l.base) 0) (not (<= insert_list_~l.base 0)))} is VALID [2022-02-20 16:48:51,054 INFO L290 TraceCheckUtils]: 25: Hoare triple {940#(or (<= (+ 1 insert_list_~l.base) 0) (not (<= insert_list_~l.base 0)))} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {940#(or (<= (+ 1 insert_list_~l.base) 0) (not (<= insert_list_~l.base 0)))} is VALID [2022-02-20 16:48:51,055 INFO L290 TraceCheckUtils]: 26: Hoare triple {940#(or (<= (+ 1 insert_list_~l.base) 0) (not (<= insert_list_~l.base 0)))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {936#(not (= ~head~0.base 0))} is VALID [2022-02-20 16:48:51,055 INFO L290 TraceCheckUtils]: 27: Hoare triple {936#(not (= ~head~0.base 0))} assume true; {936#(not (= ~head~0.base 0))} is VALID [2022-02-20 16:48:51,056 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {936#(not (= ~head~0.base 0))} {914#true} #74#return; {936#(not (= ~head~0.base 0))} is VALID [2022-02-20 16:48:51,056 INFO L290 TraceCheckUtils]: 29: Hoare triple {936#(not (= ~head~0.base 0))} assume -2147483648 <= main_#t~ret10#1 && main_#t~ret10#1 <= 2147483647;havoc main_#t~ret10#1;assume { :begin_inline_search_list } true;search_list_#in~l#1.base, search_list_#in~l#1.offset, search_list_#in~k#1 := ~head~0.base, ~head~0.offset, 2;havoc search_list_#res#1.base, search_list_#res#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset, search_list_#t~mem3#1, search_list_#t~short4#1, search_list_~l#1.base, search_list_~l#1.offset, search_list_~k#1;search_list_~l#1.base, search_list_~l#1.offset := search_list_#in~l#1.base, search_list_#in~l#1.offset;search_list_~k#1 := search_list_#in~k#1;search_list_~l#1.base, search_list_~l#1.offset := ~head~0.base, ~head~0.offset; {937#(not (= |ULTIMATE.start_search_list_~l#1.base| 0))} is VALID [2022-02-20 16:48:51,057 INFO L290 TraceCheckUtils]: 30: Hoare triple {937#(not (= |ULTIMATE.start_search_list_~l#1.base| 0))} search_list_#t~short4#1 := search_list_~l#1.base != 0 || search_list_~l#1.offset != 0; {938#|ULTIMATE.start_search_list_#t~short4#1|} is VALID [2022-02-20 16:48:51,057 INFO L290 TraceCheckUtils]: 31: Hoare triple {938#|ULTIMATE.start_search_list_#t~short4#1|} assume !search_list_#t~short4#1; {915#false} is VALID [2022-02-20 16:48:51,057 INFO L290 TraceCheckUtils]: 32: Hoare triple {915#false} assume !search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1; {915#false} is VALID [2022-02-20 16:48:51,057 INFO L290 TraceCheckUtils]: 33: Hoare triple {915#false} search_list_#res#1.base, search_list_#res#1.offset := search_list_~l#1.base, search_list_~l#1.offset; {915#false} is VALID [2022-02-20 16:48:51,057 INFO L290 TraceCheckUtils]: 34: Hoare triple {915#false} main_#t~ret11#1.base, main_#t~ret11#1.offset := search_list_#res#1.base, search_list_#res#1.offset;assume { :end_inline_search_list } true;main_~temp~0#1.base, main_~temp~0#1.offset := main_#t~ret11#1.base, main_#t~ret11#1.offset;havoc main_#t~ret11#1.base, main_#t~ret11#1.offset;call main_#t~mem12#1 := read~int(main_~temp~0#1.base, main_~temp~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 1 == main_#t~mem12#1 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {915#false} is VALID [2022-02-20 16:48:51,057 INFO L290 TraceCheckUtils]: 35: Hoare triple {915#false} assume 0 == __VERIFIER_assert_~cond#1; {915#false} is VALID [2022-02-20 16:48:51,058 INFO L290 TraceCheckUtils]: 36: Hoare triple {915#false} assume !false; {915#false} is VALID [2022-02-20 16:48:51,058 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-02-20 16:48:51,058 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:48:51,058 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [764451836] [2022-02-20 16:48:51,058 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [764451836] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:48:51,058 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:48:51,058 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-02-20 16:48:51,059 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [345435134] [2022-02-20 16:48:51,059 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:48:51,059 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 37 [2022-02-20 16:48:51,059 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:48:51,060 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:48:51,082 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:48:51,082 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 16:48:51,082 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:48:51,083 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 16:48:51,099 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-02-20 16:48:51,099 INFO L87 Difference]: Start difference. First operand 31 states and 37 transitions. Second operand has 7 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:48:51,289 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:51,289 INFO L93 Difference]: Finished difference Result 40 states and 47 transitions. [2022-02-20 16:48:51,289 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 16:48:51,289 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 37 [2022-02-20 16:48:51,289 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:48:51,289 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:48:51,290 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 44 transitions. [2022-02-20 16:48:51,290 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:48:51,291 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 44 transitions. [2022-02-20 16:48:51,291 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 44 transitions. [2022-02-20 16:48:51,314 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:48:51,316 INFO L225 Difference]: With dead ends: 40 [2022-02-20 16:48:51,316 INFO L226 Difference]: Without dead ends: 32 [2022-02-20 16:48:51,316 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 8 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=29, Invalid=81, Unknown=0, NotChecked=0, Total=110 [2022-02-20 16:48:51,317 INFO L933 BasicCegarLoop]: 20 mSDtfsCounter, 22 mSDsluCounter, 68 mSDsCounter, 0 mSdLazyCounter, 60 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 88 SdHoareTripleChecker+Invalid, 67 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 60 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 16:48:51,317 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 88 Invalid, 67 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 60 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 16:48:51,317 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-02-20 16:48:51,331 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 31. [2022-02-20 16:48:51,331 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:48:51,331 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 31 states, 24 states have (on average 1.125) internal successors, (27), 24 states have internal predecessors, (27), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:48:51,332 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 31 states, 24 states have (on average 1.125) internal successors, (27), 24 states have internal predecessors, (27), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:48:51,332 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 31 states, 24 states have (on average 1.125) internal successors, (27), 24 states have internal predecessors, (27), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:48:51,333 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:51,333 INFO L93 Difference]: Finished difference Result 32 states and 37 transitions. [2022-02-20 16:48:51,333 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 37 transitions. [2022-02-20 16:48:51,333 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:48:51,334 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:48:51,334 INFO L74 IsIncluded]: Start isIncluded. First operand has 31 states, 24 states have (on average 1.125) internal successors, (27), 24 states have internal predecessors, (27), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 32 states. [2022-02-20 16:48:51,334 INFO L87 Difference]: Start difference. First operand has 31 states, 24 states have (on average 1.125) internal successors, (27), 24 states have internal predecessors, (27), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 32 states. [2022-02-20 16:48:51,335 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:51,335 INFO L93 Difference]: Finished difference Result 32 states and 37 transitions. [2022-02-20 16:48:51,335 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 37 transitions. [2022-02-20 16:48:51,336 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:48:51,336 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:48:51,336 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:48:51,336 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:48:51,336 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 24 states have (on average 1.125) internal successors, (27), 24 states have internal predecessors, (27), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:48:51,337 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 36 transitions. [2022-02-20 16:48:51,337 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 36 transitions. Word has length 37 [2022-02-20 16:48:51,337 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:48:51,337 INFO L470 AbstractCegarLoop]: Abstraction has 31 states and 36 transitions. [2022-02-20 16:48:51,338 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:48:51,338 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 36 transitions. [2022-02-20 16:48:51,338 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-02-20 16:48:51,338 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:48:51,338 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 2, 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:48:51,338 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-20 16:48:51,339 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:48:51,339 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:48:51,339 INFO L85 PathProgramCache]: Analyzing trace with hash -1005030197, now seen corresponding path program 1 times [2022-02-20 16:48:51,339 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:48:51,339 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1144905500] [2022-02-20 16:48:51,339 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:48:51,339 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:48:51,378 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:51,502 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:48:51,505 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:51,509 INFO L290 TraceCheckUtils]: 0: Hoare triple {1134#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {1106#true} is VALID [2022-02-20 16:48:51,513 INFO L290 TraceCheckUtils]: 1: Hoare triple {1106#true} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {1106#true} is VALID [2022-02-20 16:48:51,513 INFO L290 TraceCheckUtils]: 2: Hoare triple {1106#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {1106#true} is VALID [2022-02-20 16:48:51,513 INFO L290 TraceCheckUtils]: 3: Hoare triple {1106#true} assume true; {1106#true} is VALID [2022-02-20 16:48:51,513 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1106#true} {1106#true} #68#return; {1106#true} is VALID [2022-02-20 16:48:51,514 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 16:48:51,516 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:51,520 INFO L290 TraceCheckUtils]: 0: Hoare triple {1134#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {1106#true} is VALID [2022-02-20 16:48:51,520 INFO L290 TraceCheckUtils]: 1: Hoare triple {1106#true} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {1106#true} is VALID [2022-02-20 16:48:51,520 INFO L290 TraceCheckUtils]: 2: Hoare triple {1106#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {1106#true} is VALID [2022-02-20 16:48:51,520 INFO L290 TraceCheckUtils]: 3: Hoare triple {1106#true} assume true; {1106#true} is VALID [2022-02-20 16:48:51,521 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1106#true} {1106#true} #70#return; {1106#true} is VALID [2022-02-20 16:48:51,521 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-02-20 16:48:51,533 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:51,591 INFO L290 TraceCheckUtils]: 0: Hoare triple {1134#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {1135#(and (= |insert_list_#in~k| insert_list_~k) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} is VALID [2022-02-20 16:48:51,592 INFO L290 TraceCheckUtils]: 1: Hoare triple {1135#(and (= |insert_list_#in~k| insert_list_~k) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {1136#(and (= |insert_list_#in~k| (select (select |#memory_int| insert_list_~l.base) insert_list_~l.offset)) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} is VALID [2022-02-20 16:48:51,593 INFO L290 TraceCheckUtils]: 2: Hoare triple {1136#(and (= |insert_list_#in~k| (select (select |#memory_int| insert_list_~l.base) insert_list_~l.offset)) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {1137#(and (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1) (= |insert_list_#in~k| (select (select |#memory_int| ~head~0.base) 0)))} is VALID [2022-02-20 16:48:51,593 INFO L290 TraceCheckUtils]: 3: Hoare triple {1137#(and (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1) (= |insert_list_#in~k| (select (select |#memory_int| ~head~0.base) 0)))} assume true; {1137#(and (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1) (= |insert_list_#in~k| (select (select |#memory_int| ~head~0.base) 0)))} is VALID [2022-02-20 16:48:51,594 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1137#(and (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1) (= |insert_list_#in~k| (select (select |#memory_int| ~head~0.base) 0)))} {1106#true} #72#return; {1123#(and (= (select (select |#memory_int| ~head~0.base) 0) 1) (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1))} is VALID [2022-02-20 16:48:51,594 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-02-20 16:48:51,603 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:51,706 INFO L290 TraceCheckUtils]: 0: Hoare triple {1134#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {1138#(and (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base (select |#memory_int| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0))} is VALID [2022-02-20 16:48:51,708 INFO L290 TraceCheckUtils]: 1: Hoare triple {1138#(and (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base (select |#memory_int| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0))} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {1139#(and (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base (select |#memory_int| insert_list_~l.base))) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) 4) |old(~head~0.offset)|) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (+ insert_list_~l.offset 4))))} is VALID [2022-02-20 16:48:51,708 INFO L290 TraceCheckUtils]: 2: Hoare triple {1139#(and (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base (select |#memory_int| insert_list_~l.base))) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) 4) |old(~head~0.offset)|) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (+ insert_list_~l.offset 4))))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {1140#(and (<= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (< 0 (+ ~head~0.offset 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (or (= (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_int)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4))) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0)))} is VALID [2022-02-20 16:48:51,709 INFO L290 TraceCheckUtils]: 3: Hoare triple {1140#(and (<= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (< 0 (+ ~head~0.offset 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (or (= (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_int)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4))) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0)))} assume true; {1140#(and (<= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (< 0 (+ ~head~0.offset 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (or (= (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_int)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4))) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0)))} is VALID [2022-02-20 16:48:51,710 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1140#(and (<= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (< 0 (+ ~head~0.offset 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (or (= (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_int)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4))) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0)))} {1123#(and (= (select (select |#memory_int| ~head~0.base) 0) 1) (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1))} #74#return; {1129#(and (= ~head~0.offset 0) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) 4) 0) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0) 1))} is VALID [2022-02-20 16:48:51,710 INFO L290 TraceCheckUtils]: 0: Hoare triple {1106#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(16, 2);~head~0.base, ~head~0.offset := 0, 0; {1106#true} is VALID [2022-02-20 16:48:51,710 INFO L290 TraceCheckUtils]: 1: Hoare triple {1106#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1, main_#t~ret8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~ret11#1.base, main_#t~ret11#1.offset, main_#t~mem12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;havoc main_~mylist~0#1.base, main_~mylist~0#1.offset;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {1106#true} is VALID [2022-02-20 16:48:51,711 INFO L272 TraceCheckUtils]: 2: Hoare triple {1106#true} call main_#t~ret7#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2); {1134#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#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:48:51,711 INFO L290 TraceCheckUtils]: 3: Hoare triple {1134#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {1106#true} is VALID [2022-02-20 16:48:51,711 INFO L290 TraceCheckUtils]: 4: Hoare triple {1106#true} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {1106#true} is VALID [2022-02-20 16:48:51,712 INFO L290 TraceCheckUtils]: 5: Hoare triple {1106#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {1106#true} is VALID [2022-02-20 16:48:51,712 INFO L290 TraceCheckUtils]: 6: Hoare triple {1106#true} assume true; {1106#true} is VALID [2022-02-20 16:48:51,712 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1106#true} {1106#true} #68#return; {1106#true} is VALID [2022-02-20 16:48:51,712 INFO L290 TraceCheckUtils]: 8: Hoare triple {1106#true} assume -2147483648 <= main_#t~ret7#1 && main_#t~ret7#1 <= 2147483647;havoc main_#t~ret7#1; {1106#true} is VALID [2022-02-20 16:48:51,713 INFO L272 TraceCheckUtils]: 9: Hoare triple {1106#true} call main_#t~ret8#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5); {1134#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#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:48:51,713 INFO L290 TraceCheckUtils]: 10: Hoare triple {1134#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {1106#true} is VALID [2022-02-20 16:48:51,713 INFO L290 TraceCheckUtils]: 11: Hoare triple {1106#true} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {1106#true} is VALID [2022-02-20 16:48:51,713 INFO L290 TraceCheckUtils]: 12: Hoare triple {1106#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {1106#true} is VALID [2022-02-20 16:48:51,713 INFO L290 TraceCheckUtils]: 13: Hoare triple {1106#true} assume true; {1106#true} is VALID [2022-02-20 16:48:51,713 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {1106#true} {1106#true} #70#return; {1106#true} is VALID [2022-02-20 16:48:51,714 INFO L290 TraceCheckUtils]: 15: Hoare triple {1106#true} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;havoc main_#t~ret8#1; {1106#true} is VALID [2022-02-20 16:48:51,714 INFO L272 TraceCheckUtils]: 16: Hoare triple {1106#true} call main_#t~ret9#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1); {1134#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#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:48:51,715 INFO L290 TraceCheckUtils]: 17: Hoare triple {1134#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {1135#(and (= |insert_list_#in~k| insert_list_~k) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} is VALID [2022-02-20 16:48:51,716 INFO L290 TraceCheckUtils]: 18: Hoare triple {1135#(and (= |insert_list_#in~k| insert_list_~k) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {1136#(and (= |insert_list_#in~k| (select (select |#memory_int| insert_list_~l.base) insert_list_~l.offset)) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} is VALID [2022-02-20 16:48:51,716 INFO L290 TraceCheckUtils]: 19: Hoare triple {1136#(and (= |insert_list_#in~k| (select (select |#memory_int| insert_list_~l.base) insert_list_~l.offset)) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {1137#(and (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1) (= |insert_list_#in~k| (select (select |#memory_int| ~head~0.base) 0)))} is VALID [2022-02-20 16:48:51,717 INFO L290 TraceCheckUtils]: 20: Hoare triple {1137#(and (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1) (= |insert_list_#in~k| (select (select |#memory_int| ~head~0.base) 0)))} assume true; {1137#(and (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1) (= |insert_list_#in~k| (select (select |#memory_int| ~head~0.base) 0)))} is VALID [2022-02-20 16:48:51,718 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1137#(and (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1) (= |insert_list_#in~k| (select (select |#memory_int| ~head~0.base) 0)))} {1106#true} #72#return; {1123#(and (= (select (select |#memory_int| ~head~0.base) 0) 1) (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1))} is VALID [2022-02-20 16:48:51,719 INFO L290 TraceCheckUtils]: 22: Hoare triple {1123#(and (= (select (select |#memory_int| ~head~0.base) 0) 1) (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1))} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;havoc main_#t~ret9#1; {1123#(and (= (select (select |#memory_int| ~head~0.base) 0) 1) (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1))} is VALID [2022-02-20 16:48:51,721 INFO L272 TraceCheckUtils]: 23: Hoare triple {1123#(and (= (select (select |#memory_int| ~head~0.base) 0) 1) (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1))} call main_#t~ret10#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3); {1134#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#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:48:51,726 INFO L290 TraceCheckUtils]: 24: Hoare triple {1134#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {1138#(and (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base (select |#memory_int| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0))} is VALID [2022-02-20 16:48:51,728 INFO L290 TraceCheckUtils]: 25: Hoare triple {1138#(and (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base (select |#memory_int| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0))} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {1139#(and (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base (select |#memory_int| insert_list_~l.base))) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) 4) |old(~head~0.offset)|) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (+ insert_list_~l.offset 4))))} is VALID [2022-02-20 16:48:51,728 INFO L290 TraceCheckUtils]: 26: Hoare triple {1139#(and (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base (select |#memory_int| insert_list_~l.base))) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) 4) |old(~head~0.offset)|) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (+ insert_list_~l.offset 4))))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {1140#(and (<= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (< 0 (+ ~head~0.offset 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (or (= (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_int)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4))) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0)))} is VALID [2022-02-20 16:48:51,729 INFO L290 TraceCheckUtils]: 27: Hoare triple {1140#(and (<= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (< 0 (+ ~head~0.offset 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (or (= (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_int)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4))) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0)))} assume true; {1140#(and (<= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (< 0 (+ ~head~0.offset 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (or (= (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_int)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4))) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0)))} is VALID [2022-02-20 16:48:51,732 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1140#(and (<= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (< 0 (+ ~head~0.offset 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (or (= (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_int)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4))) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0)))} {1123#(and (= (select (select |#memory_int| ~head~0.base) 0) 1) (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1))} #74#return; {1129#(and (= ~head~0.offset 0) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) 4) 0) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0) 1))} is VALID [2022-02-20 16:48:51,732 INFO L290 TraceCheckUtils]: 29: Hoare triple {1129#(and (= ~head~0.offset 0) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) 4) 0) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0) 1))} assume -2147483648 <= main_#t~ret10#1 && main_#t~ret10#1 <= 2147483647;havoc main_#t~ret10#1;assume { :begin_inline_search_list } true;search_list_#in~l#1.base, search_list_#in~l#1.offset, search_list_#in~k#1 := ~head~0.base, ~head~0.offset, 2;havoc search_list_#res#1.base, search_list_#res#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset, search_list_#t~mem3#1, search_list_#t~short4#1, search_list_~l#1.base, search_list_~l#1.offset, search_list_~k#1;search_list_~l#1.base, search_list_~l#1.offset := search_list_#in~l#1.base, search_list_#in~l#1.offset;search_list_~k#1 := search_list_#in~k#1;search_list_~l#1.base, search_list_~l#1.offset := ~head~0.base, ~head~0.offset; {1130#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4)) 0) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) 0) 1))} is VALID [2022-02-20 16:48:51,733 INFO L290 TraceCheckUtils]: 30: Hoare triple {1130#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4)) 0) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) 0) 1))} search_list_#t~short4#1 := search_list_~l#1.base != 0 || search_list_~l#1.offset != 0; {1130#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4)) 0) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) 0) 1))} is VALID [2022-02-20 16:48:51,733 INFO L290 TraceCheckUtils]: 31: Hoare triple {1130#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4)) 0) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) 0) 1))} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~int(search_list_~l#1.base, search_list_~l#1.offset, 4);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {1130#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4)) 0) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) 0) 1))} is VALID [2022-02-20 16:48:51,734 INFO L290 TraceCheckUtils]: 32: Hoare triple {1130#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4)) 0) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) 0) 1))} assume !!search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1;call search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset := read~$Pointer$(search_list_~l#1.base, 4 + search_list_~l#1.offset, 4);search_list_~l#1.base, search_list_~l#1.offset := search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset; {1131#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) 1))} is VALID [2022-02-20 16:48:51,734 INFO L290 TraceCheckUtils]: 33: Hoare triple {1131#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) 1))} search_list_#t~short4#1 := search_list_~l#1.base != 0 || search_list_~l#1.offset != 0; {1131#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) 1))} is VALID [2022-02-20 16:48:51,735 INFO L290 TraceCheckUtils]: 34: Hoare triple {1131#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) 1))} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~int(search_list_~l#1.base, search_list_~l#1.offset, 4);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {1131#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) 1))} is VALID [2022-02-20 16:48:51,735 INFO L290 TraceCheckUtils]: 35: Hoare triple {1131#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) 1))} assume !search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1; {1131#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) 1))} is VALID [2022-02-20 16:48:51,736 INFO L290 TraceCheckUtils]: 36: Hoare triple {1131#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) 1))} search_list_#res#1.base, search_list_#res#1.offset := search_list_~l#1.base, search_list_~l#1.offset; {1132#(= (select (select |#memory_int| |ULTIMATE.start_search_list_#res#1.base|) |ULTIMATE.start_search_list_#res#1.offset|) 1)} is VALID [2022-02-20 16:48:51,736 INFO L290 TraceCheckUtils]: 37: Hoare triple {1132#(= (select (select |#memory_int| |ULTIMATE.start_search_list_#res#1.base|) |ULTIMATE.start_search_list_#res#1.offset|) 1)} main_#t~ret11#1.base, main_#t~ret11#1.offset := search_list_#res#1.base, search_list_#res#1.offset;assume { :end_inline_search_list } true;main_~temp~0#1.base, main_~temp~0#1.offset := main_#t~ret11#1.base, main_#t~ret11#1.offset;havoc main_#t~ret11#1.base, main_#t~ret11#1.offset;call main_#t~mem12#1 := read~int(main_~temp~0#1.base, main_~temp~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 1 == main_#t~mem12#1 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {1133#(not (= |ULTIMATE.start___VERIFIER_assert_~cond#1| 0))} is VALID [2022-02-20 16:48:51,736 INFO L290 TraceCheckUtils]: 38: Hoare triple {1133#(not (= |ULTIMATE.start___VERIFIER_assert_~cond#1| 0))} assume 0 == __VERIFIER_assert_~cond#1; {1107#false} is VALID [2022-02-20 16:48:51,736 INFO L290 TraceCheckUtils]: 39: Hoare triple {1107#false} assume !false; {1107#false} is VALID [2022-02-20 16:48:51,737 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-02-20 16:48:51,737 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:48:51,737 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1144905500] [2022-02-20 16:48:51,738 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1144905500] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:48:51,738 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [605836108] [2022-02-20 16:48:51,738 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:48:51,738 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:48:51,738 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:48:51,739 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:48:51,741 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:48:51,857 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:51,859 INFO L263 TraceCheckSpWp]: Trace formula consists of 400 conjuncts, 71 conjunts are in the unsatisfiable core [2022-02-20 16:48:51,871 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:51,874 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:48:51,924 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:48:51,939 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:48:51,940 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 16 treesize of output 17 [2022-02-20 16:48:52,105 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:48:52,109 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:48:52,214 INFO L356 Elim1Store]: treesize reduction 4, result has 71.4 percent of original size [2022-02-20 16:48:52,214 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 17 treesize of output 17 [2022-02-20 16:48:52,225 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 22 treesize of output 17 [2022-02-20 16:48:52,353 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 27 treesize of output 15 [2022-02-20 16:48:52,367 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:48:52,421 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:48:52,421 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 2 new quantified variables, introduced 1 case distinctions, treesize of input 29 treesize of output 20 [2022-02-20 16:48:52,443 INFO L290 TraceCheckUtils]: 0: Hoare triple {1106#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(16, 2);~head~0.base, ~head~0.offset := 0, 0; {1106#true} is VALID [2022-02-20 16:48:52,443 INFO L290 TraceCheckUtils]: 1: Hoare triple {1106#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1, main_#t~ret8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~ret11#1.base, main_#t~ret11#1.offset, main_#t~mem12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;havoc main_~mylist~0#1.base, main_~mylist~0#1.offset;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {1106#true} is VALID [2022-02-20 16:48:52,444 INFO L272 TraceCheckUtils]: 2: Hoare triple {1106#true} call main_#t~ret7#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2); {1106#true} is VALID [2022-02-20 16:48:52,444 INFO L290 TraceCheckUtils]: 3: Hoare triple {1106#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {1106#true} is VALID [2022-02-20 16:48:52,444 INFO L290 TraceCheckUtils]: 4: Hoare triple {1106#true} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {1106#true} is VALID [2022-02-20 16:48:52,444 INFO L290 TraceCheckUtils]: 5: Hoare triple {1106#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {1106#true} is VALID [2022-02-20 16:48:52,444 INFO L290 TraceCheckUtils]: 6: Hoare triple {1106#true} assume true; {1106#true} is VALID [2022-02-20 16:48:52,444 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1106#true} {1106#true} #68#return; {1106#true} is VALID [2022-02-20 16:48:52,444 INFO L290 TraceCheckUtils]: 8: Hoare triple {1106#true} assume -2147483648 <= main_#t~ret7#1 && main_#t~ret7#1 <= 2147483647;havoc main_#t~ret7#1; {1106#true} is VALID [2022-02-20 16:48:52,445 INFO L272 TraceCheckUtils]: 9: Hoare triple {1106#true} call main_#t~ret8#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5); {1106#true} is VALID [2022-02-20 16:48:52,445 INFO L290 TraceCheckUtils]: 10: Hoare triple {1106#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {1106#true} is VALID [2022-02-20 16:48:52,445 INFO L290 TraceCheckUtils]: 11: Hoare triple {1106#true} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {1106#true} is VALID [2022-02-20 16:48:52,445 INFO L290 TraceCheckUtils]: 12: Hoare triple {1106#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {1106#true} is VALID [2022-02-20 16:48:52,445 INFO L290 TraceCheckUtils]: 13: Hoare triple {1106#true} assume true; {1106#true} is VALID [2022-02-20 16:48:52,445 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {1106#true} {1106#true} #70#return; {1106#true} is VALID [2022-02-20 16:48:52,445 INFO L290 TraceCheckUtils]: 15: Hoare triple {1106#true} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;havoc main_#t~ret8#1; {1106#true} is VALID [2022-02-20 16:48:52,445 INFO L272 TraceCheckUtils]: 16: Hoare triple {1106#true} call main_#t~ret9#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1); {1106#true} is VALID [2022-02-20 16:48:52,446 INFO L290 TraceCheckUtils]: 17: Hoare triple {1106#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {1135#(and (= |insert_list_#in~k| insert_list_~k) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} is VALID [2022-02-20 16:48:52,447 INFO L290 TraceCheckUtils]: 18: Hoare triple {1135#(and (= |insert_list_#in~k| insert_list_~k) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {1136#(and (= |insert_list_#in~k| (select (select |#memory_int| insert_list_~l.base) insert_list_~l.offset)) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} is VALID [2022-02-20 16:48:52,447 INFO L290 TraceCheckUtils]: 19: Hoare triple {1136#(and (= |insert_list_#in~k| (select (select |#memory_int| insert_list_~l.base) insert_list_~l.offset)) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {1137#(and (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1) (= |insert_list_#in~k| (select (select |#memory_int| ~head~0.base) 0)))} is VALID [2022-02-20 16:48:52,448 INFO L290 TraceCheckUtils]: 20: Hoare triple {1137#(and (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1) (= |insert_list_#in~k| (select (select |#memory_int| ~head~0.base) 0)))} assume true; {1137#(and (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1) (= |insert_list_#in~k| (select (select |#memory_int| ~head~0.base) 0)))} is VALID [2022-02-20 16:48:52,449 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1137#(and (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1) (= |insert_list_#in~k| (select (select |#memory_int| ~head~0.base) 0)))} {1106#true} #72#return; {1123#(and (= (select (select |#memory_int| ~head~0.base) 0) 1) (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1))} is VALID [2022-02-20 16:48:52,449 INFO L290 TraceCheckUtils]: 22: Hoare triple {1123#(and (= (select (select |#memory_int| ~head~0.base) 0) 1) (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1))} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;havoc main_#t~ret9#1; {1123#(and (= (select (select |#memory_int| ~head~0.base) 0) 1) (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1))} is VALID [2022-02-20 16:48:52,450 INFO L272 TraceCheckUtils]: 23: Hoare triple {1123#(and (= (select (select |#memory_int| ~head~0.base) 0) 1) (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1))} call main_#t~ret10#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3); {1213#(and (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:52,451 INFO L290 TraceCheckUtils]: 24: Hoare triple {1213#(and (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {1138#(and (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base (select |#memory_int| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0))} is VALID [2022-02-20 16:48:52,456 INFO L290 TraceCheckUtils]: 25: Hoare triple {1138#(and (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base (select |#memory_int| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0))} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {1139#(and (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base (select |#memory_int| insert_list_~l.base))) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) 4) |old(~head~0.offset)|) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (+ insert_list_~l.offset 4))))} is VALID [2022-02-20 16:48:52,457 INFO L290 TraceCheckUtils]: 26: Hoare triple {1139#(and (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base (select |#memory_int| insert_list_~l.base))) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) 4) |old(~head~0.offset)|) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (+ insert_list_~l.offset 4))))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {1223#(and (= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) (= |#memory_int| (store |old(#memory_int)| ~head~0.base (select |#memory_int| ~head~0.base))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (= (select |old(#valid)| ~head~0.base) 0))} is VALID [2022-02-20 16:48:52,457 INFO L290 TraceCheckUtils]: 27: Hoare triple {1223#(and (= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) (= |#memory_int| (store |old(#memory_int)| ~head~0.base (select |#memory_int| ~head~0.base))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (= (select |old(#valid)| ~head~0.base) 0))} assume true; {1223#(and (= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) (= |#memory_int| (store |old(#memory_int)| ~head~0.base (select |#memory_int| ~head~0.base))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (= (select |old(#valid)| ~head~0.base) 0))} is VALID [2022-02-20 16:48:52,458 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1223#(and (= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) (= |#memory_int| (store |old(#memory_int)| ~head~0.base (select |#memory_int| ~head~0.base))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (= (select |old(#valid)| ~head~0.base) 0))} {1123#(and (= (select (select |#memory_int| ~head~0.base) 0) 1) (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1))} #74#return; {1230#(and (not (= ~head~0.base (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4)))) (= ~head~0.offset 0) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) 0) 1) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) 4) 0))} is VALID [2022-02-20 16:48:52,459 INFO L290 TraceCheckUtils]: 29: Hoare triple {1230#(and (not (= ~head~0.base (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4)))) (= ~head~0.offset 0) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) 0) 1) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) 4) 0))} assume -2147483648 <= main_#t~ret10#1 && main_#t~ret10#1 <= 2147483647;havoc main_#t~ret10#1;assume { :begin_inline_search_list } true;search_list_#in~l#1.base, search_list_#in~l#1.offset, search_list_#in~k#1 := ~head~0.base, ~head~0.offset, 2;havoc search_list_#res#1.base, search_list_#res#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset, search_list_#t~mem3#1, search_list_#t~short4#1, search_list_~l#1.base, search_list_~l#1.offset, search_list_~k#1;search_list_~l#1.base, search_list_~l#1.offset := search_list_#in~l#1.base, search_list_#in~l#1.offset;search_list_~k#1 := search_list_#in~k#1;search_list_~l#1.base, search_list_~l#1.offset := ~head~0.base, ~head~0.offset; {1234#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (= |ULTIMATE.start_search_list_~k#1| 2) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) 4) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4) |ULTIMATE.start_search_list_~l#1.base|)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 0) 1))} is VALID [2022-02-20 16:48:52,459 INFO L290 TraceCheckUtils]: 30: Hoare triple {1234#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (= |ULTIMATE.start_search_list_~k#1| 2) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) 4) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4) |ULTIMATE.start_search_list_~l#1.base|)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 0) 1))} search_list_#t~short4#1 := search_list_~l#1.base != 0 || search_list_~l#1.offset != 0; {1234#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (= |ULTIMATE.start_search_list_~k#1| 2) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) 4) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4) |ULTIMATE.start_search_list_~l#1.base|)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 0) 1))} is VALID [2022-02-20 16:48:52,460 INFO L290 TraceCheckUtils]: 31: Hoare triple {1234#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (= |ULTIMATE.start_search_list_~k#1| 2) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) 4) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4) |ULTIMATE.start_search_list_~l#1.base|)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 0) 1))} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~int(search_list_~l#1.base, search_list_~l#1.offset, 4);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {1234#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (= |ULTIMATE.start_search_list_~k#1| 2) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) 4) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4) |ULTIMATE.start_search_list_~l#1.base|)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 0) 1))} is VALID [2022-02-20 16:48:52,460 INFO L290 TraceCheckUtils]: 32: Hoare triple {1234#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (= |ULTIMATE.start_search_list_~k#1| 2) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) 4) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4) |ULTIMATE.start_search_list_~l#1.base|)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 0) 1))} assume !!search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1;call search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset := read~$Pointer$(search_list_~l#1.base, 4 + search_list_~l#1.offset, 4);search_list_~l#1.base, search_list_~l#1.offset := search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset; {1244#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (= |ULTIMATE.start_search_list_~k#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) 0) 1))} is VALID [2022-02-20 16:48:52,461 INFO L290 TraceCheckUtils]: 33: Hoare triple {1244#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (= |ULTIMATE.start_search_list_~k#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) 0) 1))} search_list_#t~short4#1 := search_list_~l#1.base != 0 || search_list_~l#1.offset != 0; {1244#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (= |ULTIMATE.start_search_list_~k#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) 0) 1))} is VALID [2022-02-20 16:48:52,461 INFO L290 TraceCheckUtils]: 34: Hoare triple {1244#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (= |ULTIMATE.start_search_list_~k#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) 0) 1))} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~int(search_list_~l#1.base, search_list_~l#1.offset, 4);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {1251#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) |ULTIMATE.start_search_list_#t~short4#1|)} is VALID [2022-02-20 16:48:52,461 INFO L290 TraceCheckUtils]: 35: Hoare triple {1251#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) |ULTIMATE.start_search_list_#t~short4#1|)} assume !search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1; {1107#false} is VALID [2022-02-20 16:48:52,461 INFO L290 TraceCheckUtils]: 36: Hoare triple {1107#false} search_list_#res#1.base, search_list_#res#1.offset := search_list_~l#1.base, search_list_~l#1.offset; {1107#false} is VALID [2022-02-20 16:48:52,462 INFO L290 TraceCheckUtils]: 37: Hoare triple {1107#false} main_#t~ret11#1.base, main_#t~ret11#1.offset := search_list_#res#1.base, search_list_#res#1.offset;assume { :end_inline_search_list } true;main_~temp~0#1.base, main_~temp~0#1.offset := main_#t~ret11#1.base, main_#t~ret11#1.offset;havoc main_#t~ret11#1.base, main_#t~ret11#1.offset;call main_#t~mem12#1 := read~int(main_~temp~0#1.base, main_~temp~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 1 == main_#t~mem12#1 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {1107#false} is VALID [2022-02-20 16:48:52,462 INFO L290 TraceCheckUtils]: 38: Hoare triple {1107#false} assume 0 == __VERIFIER_assert_~cond#1; {1107#false} is VALID [2022-02-20 16:48:52,462 INFO L290 TraceCheckUtils]: 39: Hoare triple {1107#false} assume !false; {1107#false} is VALID [2022-02-20 16:48:52,462 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 19 proven. 7 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 16:48:52,462 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:48:52,661 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_~head~0.base_46 Int) (v_ArrVal_851 (Array Int Int))) (or (not (= 2 (select (select (store |c_#memory_int| v_~head~0.base_46 v_ArrVal_851) c_~head~0.base) c_~head~0.offset))) (not (= 0 (select |c_#valid| v_~head~0.base_46))))) is different from false [2022-02-20 16:48:52,662 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [605836108] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:48:52,662 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 16:48:52,662 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 14] total 21 [2022-02-20 16:48:52,662 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [813755217] [2022-02-20 16:48:52,662 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 16:48:52,663 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 2.0952380952380953) internal successors, (44), 17 states have internal predecessors, (44), 2 states have call successors, (8), 3 states have call predecessors, (8), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) Word has length 40 [2022-02-20 16:48:52,663 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:48:52,664 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 21 states, 21 states have (on average 2.0952380952380953) internal successors, (44), 17 states have internal predecessors, (44), 2 states have call successors, (8), 3 states have call predecessors, (8), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 16:48:52,731 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:48:52,732 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-02-20 16:48:52,732 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:48:52,732 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-02-20 16:48:52,732 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=544, Unknown=1, NotChecked=46, Total=650 [2022-02-20 16:48:52,733 INFO L87 Difference]: Start difference. First operand 31 states and 36 transitions. Second operand has 21 states, 21 states have (on average 2.0952380952380953) internal successors, (44), 17 states have internal predecessors, (44), 2 states have call successors, (8), 3 states have call predecessors, (8), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 16:48:53,784 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:53,784 INFO L93 Difference]: Finished difference Result 48 states and 54 transitions. [2022-02-20 16:48:53,784 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-02-20 16:48:53,784 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 2.0952380952380953) internal successors, (44), 17 states have internal predecessors, (44), 2 states have call successors, (8), 3 states have call predecessors, (8), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) Word has length 40 [2022-02-20 16:48:53,784 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:48:53,785 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 2.0952380952380953) internal successors, (44), 17 states have internal predecessors, (44), 2 states have call successors, (8), 3 states have call predecessors, (8), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 16:48:53,785 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 49 transitions. [2022-02-20 16:48:53,786 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 2.0952380952380953) internal successors, (44), 17 states have internal predecessors, (44), 2 states have call successors, (8), 3 states have call predecessors, (8), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 16:48:53,787 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 49 transitions. [2022-02-20 16:48:53,787 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 49 transitions. [2022-02-20 16:48:53,827 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:48:53,829 INFO L225 Difference]: With dead ends: 48 [2022-02-20 16:48:53,829 INFO L226 Difference]: Without dead ends: 40 [2022-02-20 16:48:53,830 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 84 GetRequests, 45 SyntacticMatches, 3 SemanticMatches, 36 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 135 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=161, Invalid=1174, Unknown=1, NotChecked=70, Total=1406 [2022-02-20 16:48:53,832 INFO L933 BasicCegarLoop]: 15 mSDtfsCounter, 29 mSDsluCounter, 186 mSDsCounter, 0 mSdLazyCounter, 369 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 201 SdHoareTripleChecker+Invalid, 388 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 369 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 16:48:53,832 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 201 Invalid, 388 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 369 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 16:48:53,833 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2022-02-20 16:48:53,838 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 39. [2022-02-20 16:48:53,846 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:48:53,847 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand has 39 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 31 states have internal predecessors, (35), 4 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:48:53,848 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand has 39 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 31 states have internal predecessors, (35), 4 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:48:53,849 INFO L87 Difference]: Start difference. First operand 40 states. Second operand has 39 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 31 states have internal predecessors, (35), 4 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:48:53,850 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:53,850 INFO L93 Difference]: Finished difference Result 40 states and 45 transitions. [2022-02-20 16:48:53,851 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 45 transitions. [2022-02-20 16:48:53,851 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:48:53,851 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:48:53,852 INFO L74 IsIncluded]: Start isIncluded. First operand has 39 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 31 states have internal predecessors, (35), 4 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 40 states. [2022-02-20 16:48:53,852 INFO L87 Difference]: Start difference. First operand has 39 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 31 states have internal predecessors, (35), 4 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 40 states. [2022-02-20 16:48:53,855 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:53,856 INFO L93 Difference]: Finished difference Result 40 states and 45 transitions. [2022-02-20 16:48:53,856 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 45 transitions. [2022-02-20 16:48:53,856 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:48:53,856 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:48:53,856 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:48:53,856 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:48:53,857 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 31 states have internal predecessors, (35), 4 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:48:53,859 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 44 transitions. [2022-02-20 16:48:53,859 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 44 transitions. Word has length 40 [2022-02-20 16:48:53,859 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:48:53,859 INFO L470 AbstractCegarLoop]: Abstraction has 39 states and 44 transitions. [2022-02-20 16:48:53,859 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 21 states have (on average 2.0952380952380953) internal successors, (44), 17 states have internal predecessors, (44), 2 states have call successors, (8), 3 states have call predecessors, (8), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 16:48:53,860 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 44 transitions. [2022-02-20 16:48:53,862 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-02-20 16:48:53,862 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:48:53,875 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:48:53,895 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-02-20 16:48:54,092 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:48:54,093 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:48:54,093 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:48:54,093 INFO L85 PathProgramCache]: Analyzing trace with hash 2009254361, now seen corresponding path program 2 times [2022-02-20 16:48:54,093 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:48:54,094 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [926312535] [2022-02-20 16:48:54,094 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:48:54,094 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:48:54,143 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:54,342 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:48:54,345 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:54,348 INFO L290 TraceCheckUtils]: 0: Hoare triple {1552#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {1522#true} is VALID [2022-02-20 16:48:54,349 INFO L290 TraceCheckUtils]: 1: Hoare triple {1522#true} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {1522#true} is VALID [2022-02-20 16:48:54,349 INFO L290 TraceCheckUtils]: 2: Hoare triple {1522#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {1522#true} is VALID [2022-02-20 16:48:54,349 INFO L290 TraceCheckUtils]: 3: Hoare triple {1522#true} assume true; {1522#true} is VALID [2022-02-20 16:48:54,349 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1522#true} {1522#true} #68#return; {1522#true} is VALID [2022-02-20 16:48:54,349 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 16:48:54,357 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:54,427 INFO L290 TraceCheckUtils]: 0: Hoare triple {1552#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {1553#(and (= |insert_list_#in~k| insert_list_~k) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} is VALID [2022-02-20 16:48:54,428 INFO L290 TraceCheckUtils]: 1: Hoare triple {1553#(and (= |insert_list_#in~k| insert_list_~k) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {1554#(and (= |insert_list_#in~k| (select (select |#memory_int| insert_list_~l.base) insert_list_~l.offset)) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} is VALID [2022-02-20 16:48:54,429 INFO L290 TraceCheckUtils]: 2: Hoare triple {1554#(and (= |insert_list_#in~k| (select (select |#memory_int| insert_list_~l.base) insert_list_~l.offset)) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {1555#(and (<= ~head~0.offset 0) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) |insert_list_#in~k|) (< 0 (+ ~head~0.offset 1)) (= (select |#valid| ~head~0.base) 1))} is VALID [2022-02-20 16:48:54,429 INFO L290 TraceCheckUtils]: 3: Hoare triple {1555#(and (<= ~head~0.offset 0) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) |insert_list_#in~k|) (< 0 (+ ~head~0.offset 1)) (= (select |#valid| ~head~0.base) 1))} assume true; {1555#(and (<= ~head~0.offset 0) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) |insert_list_#in~k|) (< 0 (+ ~head~0.offset 1)) (= (select |#valid| ~head~0.base) 1))} is VALID [2022-02-20 16:48:54,430 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1555#(and (<= ~head~0.offset 0) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) |insert_list_#in~k|) (< 0 (+ ~head~0.offset 1)) (= (select |#valid| ~head~0.base) 1))} {1522#true} #70#return; {1534#(and (= ~head~0.offset 0) (not (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) 2)) (= (select |#valid| ~head~0.base) 1))} is VALID [2022-02-20 16:48:54,430 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-02-20 16:48:54,435 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:54,560 INFO L290 TraceCheckUtils]: 0: Hoare triple {1552#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {1556#(and (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base (select |#memory_int| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} is VALID [2022-02-20 16:48:54,561 INFO L290 TraceCheckUtils]: 1: Hoare triple {1556#(and (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base (select |#memory_int| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {1557#(and (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base (select |#memory_int| insert_list_~l.base))) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) 4) |old(~head~0.offset)|) (= (select |#valid| insert_list_~l.base) 1) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (+ insert_list_~l.offset 4))))} is VALID [2022-02-20 16:48:54,562 INFO L290 TraceCheckUtils]: 2: Hoare triple {1557#(and (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base (select |#memory_int| insert_list_~l.base))) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) 4) |old(~head~0.offset)|) (= (select |#valid| insert_list_~l.base) 1) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (+ insert_list_~l.offset 4))))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {1558#(and (<= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (< 0 (+ ~head~0.offset 1)) (= (select |#valid| ~head~0.base) 1) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (or (= (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_int)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4))) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0)))} is VALID [2022-02-20 16:48:54,562 INFO L290 TraceCheckUtils]: 3: Hoare triple {1558#(and (<= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (< 0 (+ ~head~0.offset 1)) (= (select |#valid| ~head~0.base) 1) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (or (= (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_int)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4))) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0)))} assume true; {1558#(and (<= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (< 0 (+ ~head~0.offset 1)) (= (select |#valid| ~head~0.base) 1) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (or (= (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_int)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4))) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0)))} is VALID [2022-02-20 16:48:54,564 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1558#(and (<= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (< 0 (+ ~head~0.offset 1)) (= (select |#valid| ~head~0.base) 1) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (or (= (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_int)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4))) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0)))} {1534#(and (= ~head~0.offset 0) (not (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) 2)) (= (select |#valid| ~head~0.base) 1))} #72#return; {1540#(and (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) 4) 0) (not (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)))))} is VALID [2022-02-20 16:48:54,564 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-02-20 16:48:54,570 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:54,754 INFO L290 TraceCheckUtils]: 0: Hoare triple {1552#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {1559#(and (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base (select |#memory_int| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base (select |#memory_$Pointer$.base| insert_list_~l.base)) |#memory_$Pointer$.base|) (= ~head~0.offset |old(~head~0.offset)|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| insert_list_~l.base (select |#memory_$Pointer$.offset| insert_list_~l.base))))} is VALID [2022-02-20 16:48:54,755 INFO L290 TraceCheckUtils]: 1: Hoare triple {1559#(and (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base (select |#memory_int| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base (select |#memory_$Pointer$.base| insert_list_~l.base)) |#memory_$Pointer$.base|) (= ~head~0.offset |old(~head~0.offset)|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| insert_list_~l.base (select |#memory_$Pointer$.offset| insert_list_~l.base))))} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {1560#(and (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base (select |#memory_int| insert_list_~l.base))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base (select |#memory_$Pointer$.base| insert_list_~l.base)) |#memory_$Pointer$.base|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) 4) |old(~head~0.offset)|) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (+ insert_list_~l.offset 4))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| insert_list_~l.base (select |#memory_$Pointer$.offset| insert_list_~l.base))))} is VALID [2022-02-20 16:48:54,756 INFO L290 TraceCheckUtils]: 2: Hoare triple {1560#(and (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base (select |#memory_int| insert_list_~l.base))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base (select |#memory_$Pointer$.base| insert_list_~l.base)) |#memory_$Pointer$.base|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) 4) |old(~head~0.offset)|) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (+ insert_list_~l.offset 4))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| insert_list_~l.base (select |#memory_$Pointer$.offset| insert_list_~l.base))))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {1561#(and (<= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (< 0 (+ ~head~0.offset 1)) (or (= (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_$Pointer$.offset)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4))) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0)) (or (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0) (= (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_$Pointer$.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (or (= ~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4)) (= (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4)) (select |old(#memory_int)| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4)))))} is VALID [2022-02-20 16:48:54,757 INFO L290 TraceCheckUtils]: 3: Hoare triple {1561#(and (<= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (< 0 (+ ~head~0.offset 1)) (or (= (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_$Pointer$.offset)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4))) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0)) (or (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0) (= (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_$Pointer$.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (or (= ~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4)) (= (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4)) (select |old(#memory_int)| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4)))))} assume true; {1561#(and (<= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (< 0 (+ ~head~0.offset 1)) (or (= (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_$Pointer$.offset)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4))) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0)) (or (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0) (= (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_$Pointer$.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (or (= ~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4)) (= (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4)) (select |old(#memory_int)| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4)))))} is VALID [2022-02-20 16:48:54,759 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1561#(and (<= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (< 0 (+ ~head~0.offset 1)) (or (= (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_$Pointer$.offset)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4))) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0)) (or (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0) (= (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_$Pointer$.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (or (= ~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4)) (= (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4)) (select |old(#memory_int)| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4)))))} {1540#(and (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) 4) 0) (not (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)))))} #74#return; {1546#(and (= ~head~0.offset 0) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) 4) 0) (or (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4) ~head~0.offset) (= ~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4))) (not (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4)) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4))))))} is VALID [2022-02-20 16:48:54,759 INFO L290 TraceCheckUtils]: 0: Hoare triple {1522#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(16, 2);~head~0.base, ~head~0.offset := 0, 0; {1522#true} is VALID [2022-02-20 16:48:54,759 INFO L290 TraceCheckUtils]: 1: Hoare triple {1522#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1, main_#t~ret8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~ret11#1.base, main_#t~ret11#1.offset, main_#t~mem12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;havoc main_~mylist~0#1.base, main_~mylist~0#1.offset;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {1522#true} is VALID [2022-02-20 16:48:54,760 INFO L272 TraceCheckUtils]: 2: Hoare triple {1522#true} call main_#t~ret7#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2); {1552#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#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:48:54,760 INFO L290 TraceCheckUtils]: 3: Hoare triple {1552#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {1522#true} is VALID [2022-02-20 16:48:54,760 INFO L290 TraceCheckUtils]: 4: Hoare triple {1522#true} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {1522#true} is VALID [2022-02-20 16:48:54,760 INFO L290 TraceCheckUtils]: 5: Hoare triple {1522#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {1522#true} is VALID [2022-02-20 16:48:54,760 INFO L290 TraceCheckUtils]: 6: Hoare triple {1522#true} assume true; {1522#true} is VALID [2022-02-20 16:48:54,760 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1522#true} {1522#true} #68#return; {1522#true} is VALID [2022-02-20 16:48:54,760 INFO L290 TraceCheckUtils]: 8: Hoare triple {1522#true} assume -2147483648 <= main_#t~ret7#1 && main_#t~ret7#1 <= 2147483647;havoc main_#t~ret7#1; {1522#true} is VALID [2022-02-20 16:48:54,765 INFO L272 TraceCheckUtils]: 9: Hoare triple {1522#true} call main_#t~ret8#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5); {1552#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#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:48:54,766 INFO L290 TraceCheckUtils]: 10: Hoare triple {1552#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {1553#(and (= |insert_list_#in~k| insert_list_~k) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} is VALID [2022-02-20 16:48:54,766 INFO L290 TraceCheckUtils]: 11: Hoare triple {1553#(and (= |insert_list_#in~k| insert_list_~k) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {1554#(and (= |insert_list_#in~k| (select (select |#memory_int| insert_list_~l.base) insert_list_~l.offset)) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} is VALID [2022-02-20 16:48:54,767 INFO L290 TraceCheckUtils]: 12: Hoare triple {1554#(and (= |insert_list_#in~k| (select (select |#memory_int| insert_list_~l.base) insert_list_~l.offset)) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {1555#(and (<= ~head~0.offset 0) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) |insert_list_#in~k|) (< 0 (+ ~head~0.offset 1)) (= (select |#valid| ~head~0.base) 1))} is VALID [2022-02-20 16:48:54,767 INFO L290 TraceCheckUtils]: 13: Hoare triple {1555#(and (<= ~head~0.offset 0) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) |insert_list_#in~k|) (< 0 (+ ~head~0.offset 1)) (= (select |#valid| ~head~0.base) 1))} assume true; {1555#(and (<= ~head~0.offset 0) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) |insert_list_#in~k|) (< 0 (+ ~head~0.offset 1)) (= (select |#valid| ~head~0.base) 1))} is VALID [2022-02-20 16:48:54,768 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {1555#(and (<= ~head~0.offset 0) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) |insert_list_#in~k|) (< 0 (+ ~head~0.offset 1)) (= (select |#valid| ~head~0.base) 1))} {1522#true} #70#return; {1534#(and (= ~head~0.offset 0) (not (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) 2)) (= (select |#valid| ~head~0.base) 1))} is VALID [2022-02-20 16:48:54,769 INFO L290 TraceCheckUtils]: 15: Hoare triple {1534#(and (= ~head~0.offset 0) (not (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) 2)) (= (select |#valid| ~head~0.base) 1))} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;havoc main_#t~ret8#1; {1534#(and (= ~head~0.offset 0) (not (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) 2)) (= (select |#valid| ~head~0.base) 1))} is VALID [2022-02-20 16:48:54,770 INFO L272 TraceCheckUtils]: 16: Hoare triple {1534#(and (= ~head~0.offset 0) (not (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) 2)) (= (select |#valid| ~head~0.base) 1))} call main_#t~ret9#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1); {1552#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#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:48:54,771 INFO L290 TraceCheckUtils]: 17: Hoare triple {1552#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {1556#(and (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base (select |#memory_int| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} is VALID [2022-02-20 16:48:54,772 INFO L290 TraceCheckUtils]: 18: Hoare triple {1556#(and (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base (select |#memory_int| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {1557#(and (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base (select |#memory_int| insert_list_~l.base))) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) 4) |old(~head~0.offset)|) (= (select |#valid| insert_list_~l.base) 1) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (+ insert_list_~l.offset 4))))} is VALID [2022-02-20 16:48:54,772 INFO L290 TraceCheckUtils]: 19: Hoare triple {1557#(and (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base (select |#memory_int| insert_list_~l.base))) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) 4) |old(~head~0.offset)|) (= (select |#valid| insert_list_~l.base) 1) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (+ insert_list_~l.offset 4))))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {1558#(and (<= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (< 0 (+ ~head~0.offset 1)) (= (select |#valid| ~head~0.base) 1) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (or (= (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_int)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4))) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0)))} is VALID [2022-02-20 16:48:54,773 INFO L290 TraceCheckUtils]: 20: Hoare triple {1558#(and (<= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (< 0 (+ ~head~0.offset 1)) (= (select |#valid| ~head~0.base) 1) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (or (= (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_int)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4))) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0)))} assume true; {1558#(and (<= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (< 0 (+ ~head~0.offset 1)) (= (select |#valid| ~head~0.base) 1) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (or (= (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_int)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4))) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0)))} is VALID [2022-02-20 16:48:54,774 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1558#(and (<= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (< 0 (+ ~head~0.offset 1)) (= (select |#valid| ~head~0.base) 1) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (or (= (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_int)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4))) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0)))} {1534#(and (= ~head~0.offset 0) (not (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) 2)) (= (select |#valid| ~head~0.base) 1))} #72#return; {1540#(and (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) 4) 0) (not (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)))))} is VALID [2022-02-20 16:48:54,775 INFO L290 TraceCheckUtils]: 22: Hoare triple {1540#(and (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) 4) 0) (not (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)))))} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;havoc main_#t~ret9#1; {1540#(and (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) 4) 0) (not (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)))))} is VALID [2022-02-20 16:48:54,776 INFO L272 TraceCheckUtils]: 23: Hoare triple {1540#(and (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) 4) 0) (not (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)))))} call main_#t~ret10#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3); {1552#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#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:48:54,777 INFO L290 TraceCheckUtils]: 24: Hoare triple {1552#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {1559#(and (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base (select |#memory_int| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base (select |#memory_$Pointer$.base| insert_list_~l.base)) |#memory_$Pointer$.base|) (= ~head~0.offset |old(~head~0.offset)|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| insert_list_~l.base (select |#memory_$Pointer$.offset| insert_list_~l.base))))} is VALID [2022-02-20 16:48:54,778 INFO L290 TraceCheckUtils]: 25: Hoare triple {1559#(and (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base (select |#memory_int| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base (select |#memory_$Pointer$.base| insert_list_~l.base)) |#memory_$Pointer$.base|) (= ~head~0.offset |old(~head~0.offset)|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| insert_list_~l.base (select |#memory_$Pointer$.offset| insert_list_~l.base))))} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {1560#(and (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base (select |#memory_int| insert_list_~l.base))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base (select |#memory_$Pointer$.base| insert_list_~l.base)) |#memory_$Pointer$.base|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) 4) |old(~head~0.offset)|) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (+ insert_list_~l.offset 4))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| insert_list_~l.base (select |#memory_$Pointer$.offset| insert_list_~l.base))))} is VALID [2022-02-20 16:48:54,779 INFO L290 TraceCheckUtils]: 26: Hoare triple {1560#(and (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base (select |#memory_int| insert_list_~l.base))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base (select |#memory_$Pointer$.base| insert_list_~l.base)) |#memory_$Pointer$.base|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) 4) |old(~head~0.offset)|) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (+ insert_list_~l.offset 4))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| insert_list_~l.base (select |#memory_$Pointer$.offset| insert_list_~l.base))))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {1561#(and (<= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (< 0 (+ ~head~0.offset 1)) (or (= (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_$Pointer$.offset)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4))) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0)) (or (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0) (= (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_$Pointer$.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (or (= ~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4)) (= (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4)) (select |old(#memory_int)| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4)))))} is VALID [2022-02-20 16:48:54,780 INFO L290 TraceCheckUtils]: 27: Hoare triple {1561#(and (<= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (< 0 (+ ~head~0.offset 1)) (or (= (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_$Pointer$.offset)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4))) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0)) (or (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0) (= (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_$Pointer$.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (or (= ~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4)) (= (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4)) (select |old(#memory_int)| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4)))))} assume true; {1561#(and (<= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (< 0 (+ ~head~0.offset 1)) (or (= (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_$Pointer$.offset)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4))) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0)) (or (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0) (= (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_$Pointer$.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (or (= ~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4)) (= (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4)) (select |old(#memory_int)| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4)))))} is VALID [2022-02-20 16:48:54,782 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1561#(and (<= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (< 0 (+ ~head~0.offset 1)) (or (= (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_$Pointer$.offset)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4))) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0)) (or (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0) (= (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_$Pointer$.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (or (= ~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4)) (= (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4)) (select |old(#memory_int)| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4)))))} {1540#(and (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) 4) 0) (not (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)))))} #74#return; {1546#(and (= ~head~0.offset 0) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) 4) 0) (or (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4) ~head~0.offset) (= ~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4))) (not (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4)) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4))))))} is VALID [2022-02-20 16:48:54,783 INFO L290 TraceCheckUtils]: 29: Hoare triple {1546#(and (= ~head~0.offset 0) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) 4) 0) (or (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4) ~head~0.offset) (= ~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4))) (not (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4)) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4))))))} assume -2147483648 <= main_#t~ret10#1 && main_#t~ret10#1 <= 2147483647;havoc main_#t~ret10#1;assume { :begin_inline_search_list } true;search_list_#in~l#1.base, search_list_#in~l#1.offset, search_list_#in~k#1 := ~head~0.base, ~head~0.offset, 2;havoc search_list_#res#1.base, search_list_#res#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset, search_list_#t~mem3#1, search_list_#t~short4#1, search_list_~l#1.base, search_list_~l#1.offset, search_list_~k#1;search_list_~l#1.base, search_list_~l#1.offset := search_list_#in~l#1.base, search_list_#in~l#1.offset;search_list_~k#1 := search_list_#in~k#1;search_list_~l#1.base, search_list_~l#1.offset := ~head~0.base, ~head~0.offset; {1547#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (or (not (= |ULTIMATE.start_search_list_~k#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) 4)) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) 4)))) (and (= |ULTIMATE.start_search_list_~l#1.offset| (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) 4)) (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) 4)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4)) 0))} is VALID [2022-02-20 16:48:54,783 INFO L290 TraceCheckUtils]: 30: Hoare triple {1547#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (or (not (= |ULTIMATE.start_search_list_~k#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) 4)) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) 4)))) (and (= |ULTIMATE.start_search_list_~l#1.offset| (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) 4)) (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) 4)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4)) 0))} search_list_#t~short4#1 := search_list_~l#1.base != 0 || search_list_~l#1.offset != 0; {1547#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (or (not (= |ULTIMATE.start_search_list_~k#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) 4)) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) 4)))) (and (= |ULTIMATE.start_search_list_~l#1.offset| (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) 4)) (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) 4)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4)) 0))} is VALID [2022-02-20 16:48:54,784 INFO L290 TraceCheckUtils]: 31: Hoare triple {1547#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (or (not (= |ULTIMATE.start_search_list_~k#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) 4)) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) 4)))) (and (= |ULTIMATE.start_search_list_~l#1.offset| (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) 4)) (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) 4)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4)) 0))} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~int(search_list_~l#1.base, search_list_~l#1.offset, 4);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {1548#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4)) 0) (or (not (= |ULTIMATE.start_search_list_~k#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) 4)) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) 4)))) (not |ULTIMATE.start_search_list_#t~short4#1|)))} is VALID [2022-02-20 16:48:54,785 INFO L290 TraceCheckUtils]: 32: Hoare triple {1548#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4)) 0) (or (not (= |ULTIMATE.start_search_list_~k#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) 4)) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) 4)))) (not |ULTIMATE.start_search_list_#t~short4#1|)))} assume !!search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1;call search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset := read~$Pointer$(search_list_~l#1.base, 4 + search_list_~l#1.offset, 4);search_list_~l#1.base, search_list_~l#1.offset := search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset; {1549#(not (= |ULTIMATE.start_search_list_~k#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4)))))} is VALID [2022-02-20 16:48:54,785 INFO L290 TraceCheckUtils]: 33: Hoare triple {1549#(not (= |ULTIMATE.start_search_list_~k#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4)))))} search_list_#t~short4#1 := search_list_~l#1.base != 0 || search_list_~l#1.offset != 0; {1549#(not (= |ULTIMATE.start_search_list_~k#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4)))))} is VALID [2022-02-20 16:48:54,785 INFO L290 TraceCheckUtils]: 34: Hoare triple {1549#(not (= |ULTIMATE.start_search_list_~k#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4)))))} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~int(search_list_~l#1.base, search_list_~l#1.offset, 4);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {1549#(not (= |ULTIMATE.start_search_list_~k#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4)))))} is VALID [2022-02-20 16:48:54,786 INFO L290 TraceCheckUtils]: 35: Hoare triple {1549#(not (= |ULTIMATE.start_search_list_~k#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4)))))} assume !!search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1;call search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset := read~$Pointer$(search_list_~l#1.base, 4 + search_list_~l#1.offset, 4);search_list_~l#1.base, search_list_~l#1.offset := search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset; {1550#(not (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) |ULTIMATE.start_search_list_~k#1|))} is VALID [2022-02-20 16:48:54,786 INFO L290 TraceCheckUtils]: 36: Hoare triple {1550#(not (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) |ULTIMATE.start_search_list_~k#1|))} search_list_#t~short4#1 := search_list_~l#1.base != 0 || search_list_~l#1.offset != 0; {1550#(not (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) |ULTIMATE.start_search_list_~k#1|))} is VALID [2022-02-20 16:48:54,787 INFO L290 TraceCheckUtils]: 37: Hoare triple {1550#(not (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) |ULTIMATE.start_search_list_~k#1|))} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~int(search_list_~l#1.base, search_list_~l#1.offset, 4);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {1551#|ULTIMATE.start_search_list_#t~short4#1|} is VALID [2022-02-20 16:48:54,787 INFO L290 TraceCheckUtils]: 38: Hoare triple {1551#|ULTIMATE.start_search_list_#t~short4#1|} assume !search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1; {1523#false} is VALID [2022-02-20 16:48:54,787 INFO L290 TraceCheckUtils]: 39: Hoare triple {1523#false} search_list_#res#1.base, search_list_#res#1.offset := search_list_~l#1.base, search_list_~l#1.offset; {1523#false} is VALID [2022-02-20 16:48:54,787 INFO L290 TraceCheckUtils]: 40: Hoare triple {1523#false} main_#t~ret11#1.base, main_#t~ret11#1.offset := search_list_#res#1.base, search_list_#res#1.offset;assume { :end_inline_search_list } true;main_~temp~0#1.base, main_~temp~0#1.offset := main_#t~ret11#1.base, main_#t~ret11#1.offset;havoc main_#t~ret11#1.base, main_#t~ret11#1.offset;call main_#t~mem12#1 := read~int(main_~temp~0#1.base, main_~temp~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 1 == main_#t~mem12#1 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {1523#false} is VALID [2022-02-20 16:48:54,787 INFO L290 TraceCheckUtils]: 41: Hoare triple {1523#false} assume 0 == __VERIFIER_assert_~cond#1; {1523#false} is VALID [2022-02-20 16:48:54,787 INFO L290 TraceCheckUtils]: 42: Hoare triple {1523#false} assume !false; {1523#false} is VALID [2022-02-20 16:48:54,788 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 12 proven. 21 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 16:48:54,788 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:48:54,788 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [926312535] [2022-02-20 16:48:54,788 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [926312535] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:48:54,788 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [496044050] [2022-02-20 16:48:54,788 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 16:48:54,788 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:48:54,788 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:48:54,804 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:48:54,847 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:48:54,986 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 16:48:54,986 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 16:48:54,989 INFO L263 TraceCheckSpWp]: Trace formula consists of 410 conjuncts, 106 conjunts are in the unsatisfiable core [2022-02-20 16:48:55,015 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:55,017 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:48:55,045 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 16:48:55,137 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:48:55,138 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 16 treesize of output 17 [2022-02-20 16:48:55,387 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:48:55,392 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:48:55,549 INFO L356 Elim1Store]: treesize reduction 36, result has 37.9 percent of original size [2022-02-20 16:48:55,549 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 23 treesize of output 33 [2022-02-20 16:48:55,558 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 20 treesize of output 22 [2022-02-20 16:48:55,774 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 14 [2022-02-20 16:48:55,783 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 14 [2022-02-20 16:48:55,940 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:48:55,941 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 61 treesize of output 40 [2022-02-20 16:48:55,946 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:48:55,950 INFO L356 Elim1Store]: treesize reduction 4, result has 77.8 percent of original size [2022-02-20 16:48:55,951 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 32 treesize of output 24 [2022-02-20 16:48:55,955 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 21 [2022-02-20 16:48:55,961 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:48:55,962 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 22 treesize of output 17 [2022-02-20 16:48:56,381 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 16:48:56,388 INFO L356 Elim1Store]: treesize reduction 12, result has 40.0 percent of original size [2022-02-20 16:48:56,388 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 3 case distinctions, treesize of input 89 treesize of output 49 [2022-02-20 16:48:56,439 INFO L356 Elim1Store]: treesize reduction 5, result has 37.5 percent of original size [2022-02-20 16:48:56,440 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 1 case distinctions, treesize of input 28 treesize of output 18 [2022-02-20 16:48:56,566 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:48:56,566 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 2 new quantified variables, introduced 1 case distinctions, treesize of input 15 treesize of output 10 [2022-02-20 16:48:56,699 INFO L290 TraceCheckUtils]: 0: Hoare triple {1522#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(16, 2);~head~0.base, ~head~0.offset := 0, 0; {1522#true} is VALID [2022-02-20 16:48:56,699 INFO L290 TraceCheckUtils]: 1: Hoare triple {1522#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1, main_#t~ret8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~ret11#1.base, main_#t~ret11#1.offset, main_#t~mem12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;havoc main_~mylist~0#1.base, main_~mylist~0#1.offset;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {1522#true} is VALID [2022-02-20 16:48:56,699 INFO L272 TraceCheckUtils]: 2: Hoare triple {1522#true} call main_#t~ret7#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2); {1522#true} is VALID [2022-02-20 16:48:56,699 INFO L290 TraceCheckUtils]: 3: Hoare triple {1522#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {1522#true} is VALID [2022-02-20 16:48:56,700 INFO L290 TraceCheckUtils]: 4: Hoare triple {1522#true} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {1522#true} is VALID [2022-02-20 16:48:56,700 INFO L290 TraceCheckUtils]: 5: Hoare triple {1522#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {1522#true} is VALID [2022-02-20 16:48:56,702 INFO L290 TraceCheckUtils]: 6: Hoare triple {1522#true} assume true; {1522#true} is VALID [2022-02-20 16:48:56,702 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1522#true} {1522#true} #68#return; {1522#true} is VALID [2022-02-20 16:48:56,703 INFO L290 TraceCheckUtils]: 8: Hoare triple {1522#true} assume -2147483648 <= main_#t~ret7#1 && main_#t~ret7#1 <= 2147483647;havoc main_#t~ret7#1; {1522#true} is VALID [2022-02-20 16:48:56,703 INFO L272 TraceCheckUtils]: 9: Hoare triple {1522#true} call main_#t~ret8#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5); {1522#true} is VALID [2022-02-20 16:48:56,704 INFO L290 TraceCheckUtils]: 10: Hoare triple {1522#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {1595#(and (<= |insert_list_#in~k| insert_list_~k) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} is VALID [2022-02-20 16:48:56,705 INFO L290 TraceCheckUtils]: 11: Hoare triple {1595#(and (<= |insert_list_#in~k| insert_list_~k) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {1599#(and (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1) (<= |insert_list_#in~k| (select (select |#memory_int| insert_list_~l.base) insert_list_~l.offset)))} is VALID [2022-02-20 16:48:56,705 INFO L290 TraceCheckUtils]: 12: Hoare triple {1599#(and (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1) (<= |insert_list_#in~k| (select (select |#memory_int| insert_list_~l.base) insert_list_~l.offset)))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {1603#(and (<= |insert_list_#in~k| (select (select |#memory_int| ~head~0.base) ~head~0.offset)) (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1))} is VALID [2022-02-20 16:48:56,706 INFO L290 TraceCheckUtils]: 13: Hoare triple {1603#(and (<= |insert_list_#in~k| (select (select |#memory_int| ~head~0.base) ~head~0.offset)) (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1))} assume true; {1603#(and (<= |insert_list_#in~k| (select (select |#memory_int| ~head~0.base) ~head~0.offset)) (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1))} is VALID [2022-02-20 16:48:56,707 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {1603#(and (<= |insert_list_#in~k| (select (select |#memory_int| ~head~0.base) ~head~0.offset)) (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1))} {1522#true} #70#return; {1610#(and (<= 5 (select (select |#memory_int| ~head~0.base) ~head~0.offset)) (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1))} is VALID [2022-02-20 16:48:56,707 INFO L290 TraceCheckUtils]: 15: Hoare triple {1610#(and (<= 5 (select (select |#memory_int| ~head~0.base) ~head~0.offset)) (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1))} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;havoc main_#t~ret8#1; {1610#(and (<= 5 (select (select |#memory_int| ~head~0.base) ~head~0.offset)) (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1))} is VALID [2022-02-20 16:48:56,708 INFO L272 TraceCheckUtils]: 16: Hoare triple {1610#(and (<= 5 (select (select |#memory_int| ~head~0.base) ~head~0.offset)) (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1))} call main_#t~ret9#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1); {1617#(and (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:56,709 INFO L290 TraceCheckUtils]: 17: Hoare triple {1617#(and (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {1621#(and (= (store |old(#valid)| insert_list_~l.base 1) |#valid|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= (select |old(#valid)| insert_list_~l.base) 0) (exists ((v_ArrVal_1070 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base v_ArrVal_1070))) (= insert_list_~l.offset 0))} is VALID [2022-02-20 16:48:56,712 WARN L290 TraceCheckUtils]: 18: Hoare triple {1621#(and (= (store |old(#valid)| insert_list_~l.base 1) |#valid|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= (select |old(#valid)| insert_list_~l.base) 0) (exists ((v_ArrVal_1070 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base v_ArrVal_1070))) (= insert_list_~l.offset 0))} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {1625#(and (= (store |old(#valid)| insert_list_~l.base 1) |#valid|) (= (select |old(#valid)| insert_list_~l.base) 0) (exists ((v_ArrVal_1075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base v_ArrVal_1075))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (+ insert_list_~l.offset 4)) |old(~head~0.offset)|) (= insert_list_~l.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (+ insert_list_~l.offset 4))))} is UNKNOWN [2022-02-20 16:48:56,713 INFO L290 TraceCheckUtils]: 19: Hoare triple {1625#(and (= (store |old(#valid)| insert_list_~l.base 1) |#valid|) (= (select |old(#valid)| insert_list_~l.base) 0) (exists ((v_ArrVal_1075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base v_ArrVal_1075))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (+ insert_list_~l.offset 4)) |old(~head~0.offset)|) (= insert_list_~l.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (+ insert_list_~l.offset 4))))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {1629#(and (= (store |old(#valid)| ~head~0.base 1) |#valid|) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (+ ~head~0.offset 4)) |old(~head~0.offset)|) (= ~head~0.offset 0) (exists ((v_ArrVal_1075 (Array Int Int))) (= (store |old(#memory_int)| ~head~0.base v_ArrVal_1075) |#memory_int|)) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) (= (select |old(#valid)| ~head~0.base) 0))} is VALID [2022-02-20 16:48:56,713 INFO L290 TraceCheckUtils]: 20: Hoare triple {1629#(and (= (store |old(#valid)| ~head~0.base 1) |#valid|) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (+ ~head~0.offset 4)) |old(~head~0.offset)|) (= ~head~0.offset 0) (exists ((v_ArrVal_1075 (Array Int Int))) (= (store |old(#memory_int)| ~head~0.base v_ArrVal_1075) |#memory_int|)) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) (= (select |old(#valid)| ~head~0.base) 0))} assume true; {1629#(and (= (store |old(#valid)| ~head~0.base 1) |#valid|) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (+ ~head~0.offset 4)) |old(~head~0.offset)|) (= ~head~0.offset 0) (exists ((v_ArrVal_1075 (Array Int Int))) (= (store |old(#memory_int)| ~head~0.base v_ArrVal_1075) |#memory_int|)) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) (= (select |old(#valid)| ~head~0.base) 0))} is VALID [2022-02-20 16:48:56,715 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1629#(and (= (store |old(#valid)| ~head~0.base 1) |#valid|) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (+ ~head~0.offset 4)) |old(~head~0.offset)|) (= ~head~0.offset 0) (exists ((v_ArrVal_1075 (Array Int Int))) (= (store |old(#memory_int)| ~head~0.base v_ArrVal_1075) |#memory_int|)) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) (= (select |old(#valid)| ~head~0.base) 0))} {1610#(and (<= 5 (select (select |#memory_int| ~head~0.base) ~head~0.offset)) (= ~head~0.offset 0) (= (select |#valid| ~head~0.base) 1))} #72#return; {1636#(and (not (= ~head~0.base (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4)))) (= ~head~0.offset 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) 1) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (+ ~head~0.offset 4)) 0) (= (select |#valid| ~head~0.base) 1) (<= 5 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) 0)))} is VALID [2022-02-20 16:48:56,715 INFO L290 TraceCheckUtils]: 22: Hoare triple {1636#(and (not (= ~head~0.base (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4)))) (= ~head~0.offset 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) 1) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (+ ~head~0.offset 4)) 0) (= (select |#valid| ~head~0.base) 1) (<= 5 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) 0)))} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;havoc main_#t~ret9#1; {1636#(and (not (= ~head~0.base (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4)))) (= ~head~0.offset 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) 1) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (+ ~head~0.offset 4)) 0) (= (select |#valid| ~head~0.base) 1) (<= 5 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) 0)))} is VALID [2022-02-20 16:48:56,716 INFO L272 TraceCheckUtils]: 23: Hoare triple {1636#(and (not (= ~head~0.base (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4)))) (= ~head~0.offset 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) 1) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (+ ~head~0.offset 4)) 0) (= (select |#valid| ~head~0.base) 1) (<= 5 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) 0)))} call main_#t~ret10#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3); {1643#(and (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#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:48:56,717 INFO L290 TraceCheckUtils]: 24: Hoare triple {1643#(and (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {1559#(and (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base (select |#memory_int| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base (select |#memory_$Pointer$.base| insert_list_~l.base)) |#memory_$Pointer$.base|) (= ~head~0.offset |old(~head~0.offset)|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| insert_list_~l.base (select |#memory_$Pointer$.offset| insert_list_~l.base))))} is VALID [2022-02-20 16:48:56,718 INFO L290 TraceCheckUtils]: 25: Hoare triple {1559#(and (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base (select |#memory_int| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base (select |#memory_$Pointer$.base| insert_list_~l.base)) |#memory_$Pointer$.base|) (= ~head~0.offset |old(~head~0.offset)|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| insert_list_~l.base (select |#memory_$Pointer$.offset| insert_list_~l.base))))} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {1560#(and (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base (select |#memory_int| insert_list_~l.base))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base (select |#memory_$Pointer$.base| insert_list_~l.base)) |#memory_$Pointer$.base|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) 4) |old(~head~0.offset)|) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (+ insert_list_~l.offset 4))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| insert_list_~l.base (select |#memory_$Pointer$.offset| insert_list_~l.base))))} is VALID [2022-02-20 16:48:56,719 INFO L290 TraceCheckUtils]: 26: Hoare triple {1560#(and (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base (select |#memory_int| insert_list_~l.base))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base (select |#memory_$Pointer$.base| insert_list_~l.base)) |#memory_$Pointer$.base|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) 4) |old(~head~0.offset)|) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (+ insert_list_~l.offset 4))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| insert_list_~l.base (select |#memory_$Pointer$.offset| insert_list_~l.base))))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {1653#(and (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| ~head~0.base (select |#memory_$Pointer$.offset| ~head~0.base))) (= (store |old(#memory_$Pointer$.base)| ~head~0.base (select |#memory_$Pointer$.base| ~head~0.base)) |#memory_$Pointer$.base|) (= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) (= |#memory_int| (store |old(#memory_int)| ~head~0.base (select |#memory_int| ~head~0.base))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (= (select |old(#valid)| ~head~0.base) 0))} is VALID [2022-02-20 16:48:56,719 INFO L290 TraceCheckUtils]: 27: Hoare triple {1653#(and (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| ~head~0.base (select |#memory_$Pointer$.offset| ~head~0.base))) (= (store |old(#memory_$Pointer$.base)| ~head~0.base (select |#memory_$Pointer$.base| ~head~0.base)) |#memory_$Pointer$.base|) (= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) (= |#memory_int| (store |old(#memory_int)| ~head~0.base (select |#memory_int| ~head~0.base))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (= (select |old(#valid)| ~head~0.base) 0))} assume true; {1653#(and (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| ~head~0.base (select |#memory_$Pointer$.offset| ~head~0.base))) (= (store |old(#memory_$Pointer$.base)| ~head~0.base (select |#memory_$Pointer$.base| ~head~0.base)) |#memory_$Pointer$.base|) (= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) (= |#memory_int| (store |old(#memory_int)| ~head~0.base (select |#memory_int| ~head~0.base))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (= (select |old(#valid)| ~head~0.base) 0))} is VALID [2022-02-20 16:48:56,721 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1653#(and (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| ~head~0.base (select |#memory_$Pointer$.offset| ~head~0.base))) (= (store |old(#memory_$Pointer$.base)| ~head~0.base (select |#memory_$Pointer$.base| ~head~0.base)) |#memory_$Pointer$.base|) (= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) (= |#memory_int| (store |old(#memory_int)| ~head~0.base (select |#memory_int| ~head~0.base))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (= (select |old(#valid)| ~head~0.base) 0))} {1636#(and (not (= ~head~0.base (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4)))) (= ~head~0.offset 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) 1) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (+ ~head~0.offset 4)) 0) (= (select |#valid| ~head~0.base) 1) (<= 5 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) 0)))} #74#return; {1660#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) 4) 0) (not (= ~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) 4))) (= ~head~0.offset 0) (<= 5 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) 4)) 0)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) 4) (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4)))))} is VALID [2022-02-20 16:48:56,722 INFO L290 TraceCheckUtils]: 29: Hoare triple {1660#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) 4) 0) (not (= ~head~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) 4))) (= ~head~0.offset 0) (<= 5 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) 4)) 0)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) 4) (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4)))))} assume -2147483648 <= main_#t~ret10#1 && main_#t~ret10#1 <= 2147483647;havoc main_#t~ret10#1;assume { :begin_inline_search_list } true;search_list_#in~l#1.base, search_list_#in~l#1.offset, search_list_#in~k#1 := ~head~0.base, ~head~0.offset, 2;havoc search_list_#res#1.base, search_list_#res#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset, search_list_#t~mem3#1, search_list_#t~short4#1, search_list_~l#1.base, search_list_~l#1.offset, search_list_~k#1;search_list_~l#1.base, search_list_~l#1.offset := search_list_#in~l#1.base, search_list_#in~l#1.offset;search_list_~k#1 := search_list_#in~k#1;search_list_~l#1.base, search_list_~l#1.offset := ~head~0.base, ~head~0.offset; {1664#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 4) |ULTIMATE.start_search_list_~l#1.base|)) (= |ULTIMATE.start_search_list_~l#1.offset| 0) (<= |ULTIMATE.start_search_list_~k#1| 2) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 4) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4))) (<= 5 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 4)) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 4) 0))} is VALID [2022-02-20 16:48:56,723 INFO L290 TraceCheckUtils]: 30: Hoare triple {1664#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 4) |ULTIMATE.start_search_list_~l#1.base|)) (= |ULTIMATE.start_search_list_~l#1.offset| 0) (<= |ULTIMATE.start_search_list_~k#1| 2) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 4) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4))) (<= 5 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 4)) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 4) 0))} search_list_#t~short4#1 := search_list_~l#1.base != 0 || search_list_~l#1.offset != 0; {1664#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 4) |ULTIMATE.start_search_list_~l#1.base|)) (= |ULTIMATE.start_search_list_~l#1.offset| 0) (<= |ULTIMATE.start_search_list_~k#1| 2) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 4) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4))) (<= 5 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 4)) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 4) 0))} is VALID [2022-02-20 16:48:56,723 INFO L290 TraceCheckUtils]: 31: Hoare triple {1664#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 4) |ULTIMATE.start_search_list_~l#1.base|)) (= |ULTIMATE.start_search_list_~l#1.offset| 0) (<= |ULTIMATE.start_search_list_~k#1| 2) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 4) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4))) (<= 5 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 4)) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 4) 0))} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~int(search_list_~l#1.base, search_list_~l#1.offset, 4);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {1664#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 4) |ULTIMATE.start_search_list_~l#1.base|)) (= |ULTIMATE.start_search_list_~l#1.offset| 0) (<= |ULTIMATE.start_search_list_~k#1| 2) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 4) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4))) (<= 5 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 4)) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 4) 0))} is VALID [2022-02-20 16:48:56,724 INFO L290 TraceCheckUtils]: 32: Hoare triple {1664#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 4) |ULTIMATE.start_search_list_~l#1.base|)) (= |ULTIMATE.start_search_list_~l#1.offset| 0) (<= |ULTIMATE.start_search_list_~k#1| 2) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 4) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4))) (<= 5 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 4)) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 4) 0))} assume !!search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1;call search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset := read~$Pointer$(search_list_~l#1.base, 4 + search_list_~l#1.offset, 4);search_list_~l#1.base, search_list_~l#1.offset := search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset; {1674#(and (<= |ULTIMATE.start_search_list_~k#1| 2) (exists ((|v_ULTIMATE.start_search_list_~l#1.base_13| Int)) (and (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4) |ULTIMATE.start_search_list_~l#1.base|) (<= 5 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4)) 4)) 0)) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4)) 4) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4)) 4) 0) (= |ULTIMATE.start_search_list_~l#1.offset| (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4)) 4) |v_ULTIMATE.start_search_list_~l#1.base_13|)))))} is VALID [2022-02-20 16:48:56,725 INFO L290 TraceCheckUtils]: 33: Hoare triple {1674#(and (<= |ULTIMATE.start_search_list_~k#1| 2) (exists ((|v_ULTIMATE.start_search_list_~l#1.base_13| Int)) (and (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4) |ULTIMATE.start_search_list_~l#1.base|) (<= 5 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4)) 4)) 0)) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4)) 4) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4)) 4) 0) (= |ULTIMATE.start_search_list_~l#1.offset| (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4)) 4) |v_ULTIMATE.start_search_list_~l#1.base_13|)))))} search_list_#t~short4#1 := search_list_~l#1.base != 0 || search_list_~l#1.offset != 0; {1674#(and (<= |ULTIMATE.start_search_list_~k#1| 2) (exists ((|v_ULTIMATE.start_search_list_~l#1.base_13| Int)) (and (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4) |ULTIMATE.start_search_list_~l#1.base|) (<= 5 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4)) 4)) 0)) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4)) 4) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4)) 4) 0) (= |ULTIMATE.start_search_list_~l#1.offset| (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4)) 4) |v_ULTIMATE.start_search_list_~l#1.base_13|)))))} is VALID [2022-02-20 16:48:56,726 INFO L290 TraceCheckUtils]: 34: Hoare triple {1674#(and (<= |ULTIMATE.start_search_list_~k#1| 2) (exists ((|v_ULTIMATE.start_search_list_~l#1.base_13| Int)) (and (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4) |ULTIMATE.start_search_list_~l#1.base|) (<= 5 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4)) 4)) 0)) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4)) 4) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4)) 4) 0) (= |ULTIMATE.start_search_list_~l#1.offset| (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4)) 4) |v_ULTIMATE.start_search_list_~l#1.base_13|)))))} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~int(search_list_~l#1.base, search_list_~l#1.offset, 4);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {1674#(and (<= |ULTIMATE.start_search_list_~k#1| 2) (exists ((|v_ULTIMATE.start_search_list_~l#1.base_13| Int)) (and (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4) |ULTIMATE.start_search_list_~l#1.base|) (<= 5 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4)) 4)) 0)) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4)) 4) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4)) 4) 0) (= |ULTIMATE.start_search_list_~l#1.offset| (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4)) 4) |v_ULTIMATE.start_search_list_~l#1.base_13|)))))} is VALID [2022-02-20 16:48:56,727 INFO L290 TraceCheckUtils]: 35: Hoare triple {1674#(and (<= |ULTIMATE.start_search_list_~k#1| 2) (exists ((|v_ULTIMATE.start_search_list_~l#1.base_13| Int)) (and (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4) |ULTIMATE.start_search_list_~l#1.base|) (<= 5 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4)) 4)) 0)) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4)) 4) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4)) 4) 0) (= |ULTIMATE.start_search_list_~l#1.offset| (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_13|) 4)) 4) |v_ULTIMATE.start_search_list_~l#1.base_13|)))))} assume !!search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1;call search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset := read~$Pointer$(search_list_~l#1.base, 4 + search_list_~l#1.offset, 4);search_list_~l#1.base, search_list_~l#1.offset := search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset; {1684#(and (<= 5 (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) 0)) (= |ULTIMATE.start_search_list_~l#1.offset| 0) (<= |ULTIMATE.start_search_list_~k#1| 2))} is VALID [2022-02-20 16:48:56,727 INFO L290 TraceCheckUtils]: 36: Hoare triple {1684#(and (<= 5 (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) 0)) (= |ULTIMATE.start_search_list_~l#1.offset| 0) (<= |ULTIMATE.start_search_list_~k#1| 2))} search_list_#t~short4#1 := search_list_~l#1.base != 0 || search_list_~l#1.offset != 0; {1684#(and (<= 5 (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) 0)) (= |ULTIMATE.start_search_list_~l#1.offset| 0) (<= |ULTIMATE.start_search_list_~k#1| 2))} is VALID [2022-02-20 16:48:56,728 INFO L290 TraceCheckUtils]: 37: Hoare triple {1684#(and (<= 5 (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) 0)) (= |ULTIMATE.start_search_list_~l#1.offset| 0) (<= |ULTIMATE.start_search_list_~k#1| 2))} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~int(search_list_~l#1.base, search_list_~l#1.offset, 4);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {1691#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) |ULTIMATE.start_search_list_#t~short4#1|)} is VALID [2022-02-20 16:48:56,728 INFO L290 TraceCheckUtils]: 38: Hoare triple {1691#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) |ULTIMATE.start_search_list_#t~short4#1|)} assume !search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1; {1523#false} is VALID [2022-02-20 16:48:56,728 INFO L290 TraceCheckUtils]: 39: Hoare triple {1523#false} search_list_#res#1.base, search_list_#res#1.offset := search_list_~l#1.base, search_list_~l#1.offset; {1523#false} is VALID [2022-02-20 16:48:56,729 INFO L290 TraceCheckUtils]: 40: Hoare triple {1523#false} main_#t~ret11#1.base, main_#t~ret11#1.offset := search_list_#res#1.base, search_list_#res#1.offset;assume { :end_inline_search_list } true;main_~temp~0#1.base, main_~temp~0#1.offset := main_#t~ret11#1.base, main_#t~ret11#1.offset;havoc main_#t~ret11#1.base, main_#t~ret11#1.offset;call main_#t~mem12#1 := read~int(main_~temp~0#1.base, main_~temp~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 1 == main_#t~mem12#1 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {1523#false} is VALID [2022-02-20 16:48:56,729 INFO L290 TraceCheckUtils]: 41: Hoare triple {1523#false} assume 0 == __VERIFIER_assert_~cond#1; {1523#false} is VALID [2022-02-20 16:48:56,729 INFO L290 TraceCheckUtils]: 42: Hoare triple {1523#false} assume !false; {1523#false} is VALID [2022-02-20 16:48:56,729 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 17 proven. 21 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 16:48:56,729 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:48:57,157 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:48:57,157 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 1 new quantified variables, introduced 1 case distinctions, treesize of input 34 treesize of output 38 [2022-02-20 16:48:57,167 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:48:57,167 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 1 new quantified variables, introduced 1 case distinctions, treesize of input 31 treesize of output 35 [2022-02-20 16:48:57,257 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [496044050] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:48:57,257 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 16:48:57,257 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 20] total 36 [2022-02-20 16:48:57,258 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [847059787] [2022-02-20 16:48:57,258 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 16:48:57,258 INFO L78 Accepts]: Start accepts. Automaton has has 36 states, 36 states have (on average 1.6388888888888888) internal successors, (59), 31 states have internal predecessors, (59), 5 states have call successors, (8), 4 states have call predecessors, (8), 7 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) Word has length 43 [2022-02-20 16:48:57,259 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:48:57,259 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 36 states, 36 states have (on average 1.6388888888888888) internal successors, (59), 31 states have internal predecessors, (59), 5 states have call successors, (8), 4 states have call predecessors, (8), 7 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 16:48:57,326 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 73 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-02-20 16:48:57,326 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 36 states [2022-02-20 16:48:57,326 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:48:57,327 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 36 interpolants. [2022-02-20 16:48:57,327 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=104, Invalid=1536, Unknown=0, NotChecked=0, Total=1640 [2022-02-20 16:48:57,328 INFO L87 Difference]: Start difference. First operand 39 states and 44 transitions. Second operand has 36 states, 36 states have (on average 1.6388888888888888) internal successors, (59), 31 states have internal predecessors, (59), 5 states have call successors, (8), 4 states have call predecessors, (8), 7 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 16:48:59,037 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:59,037 INFO L93 Difference]: Finished difference Result 56 states and 62 transitions. [2022-02-20 16:48:59,038 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-02-20 16:48:59,038 INFO L78 Accepts]: Start accepts. Automaton has has 36 states, 36 states have (on average 1.6388888888888888) internal successors, (59), 31 states have internal predecessors, (59), 5 states have call successors, (8), 4 states have call predecessors, (8), 7 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) Word has length 43 [2022-02-20 16:48:59,038 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:48:59,038 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 36 states have (on average 1.6388888888888888) internal successors, (59), 31 states have internal predecessors, (59), 5 states have call successors, (8), 4 states have call predecessors, (8), 7 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 16:48:59,039 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 58 transitions. [2022-02-20 16:48:59,040 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 36 states have (on average 1.6388888888888888) internal successors, (59), 31 states have internal predecessors, (59), 5 states have call successors, (8), 4 states have call predecessors, (8), 7 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 16:48:59,040 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 58 transitions. [2022-02-20 16:48:59,040 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states and 58 transitions. [2022-02-20 16:48:59,109 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 55 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-02-20 16:48:59,110 INFO L225 Difference]: With dead ends: 56 [2022-02-20 16:48:59,110 INFO L226 Difference]: Without dead ends: 51 [2022-02-20 16:48:59,111 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 99 GetRequests, 43 SyntacticMatches, 2 SemanticMatches, 54 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 497 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=257, Invalid=2823, Unknown=0, NotChecked=0, Total=3080 [2022-02-20 16:48:59,111 INFO L933 BasicCegarLoop]: 18 mSDtfsCounter, 37 mSDsluCounter, 272 mSDsCounter, 0 mSdLazyCounter, 386 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 290 SdHoareTripleChecker+Invalid, 461 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 386 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 47 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-20 16:48:59,112 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [37 Valid, 290 Invalid, 461 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 386 Invalid, 0 Unknown, 47 Unchecked, 0.5s Time] [2022-02-20 16:48:59,112 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-02-20 16:48:59,122 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 42. [2022-02-20 16:48:59,122 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:48:59,122 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 42 states, 34 states have (on average 1.1470588235294117) internal successors, (39), 34 states have internal predecessors, (39), 4 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:48:59,123 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 42 states, 34 states have (on average 1.1470588235294117) internal successors, (39), 34 states have internal predecessors, (39), 4 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:48:59,123 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 42 states, 34 states have (on average 1.1470588235294117) internal successors, (39), 34 states have internal predecessors, (39), 4 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:48:59,126 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:59,126 INFO L93 Difference]: Finished difference Result 51 states and 57 transitions. [2022-02-20 16:48:59,126 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 57 transitions. [2022-02-20 16:48:59,126 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:48:59,126 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:48:59,127 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 34 states have (on average 1.1470588235294117) internal successors, (39), 34 states have internal predecessors, (39), 4 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 51 states. [2022-02-20 16:48:59,127 INFO L87 Difference]: Start difference. First operand has 42 states, 34 states have (on average 1.1470588235294117) internal successors, (39), 34 states have internal predecessors, (39), 4 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 51 states. [2022-02-20 16:48:59,128 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:59,129 INFO L93 Difference]: Finished difference Result 51 states and 57 transitions. [2022-02-20 16:48:59,129 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 57 transitions. [2022-02-20 16:48:59,130 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:48:59,130 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:48:59,130 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:48:59,130 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:48:59,130 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 34 states have (on average 1.1470588235294117) internal successors, (39), 34 states have internal predecessors, (39), 4 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:48:59,131 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 48 transitions. [2022-02-20 16:48:59,132 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 48 transitions. Word has length 43 [2022-02-20 16:48:59,132 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:48:59,132 INFO L470 AbstractCegarLoop]: Abstraction has 42 states and 48 transitions. [2022-02-20 16:48:59,133 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 36 states, 36 states have (on average 1.6388888888888888) internal successors, (59), 31 states have internal predecessors, (59), 5 states have call successors, (8), 4 states have call predecessors, (8), 7 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 16:48:59,133 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 48 transitions. [2022-02-20 16:48:59,134 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-02-20 16:48:59,134 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:48:59,134 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 2, 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:48:59,154 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:48:59,345 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:48:59,345 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:48:59,346 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:48:59,346 INFO L85 PathProgramCache]: Analyzing trace with hash 2066512663, now seen corresponding path program 1 times [2022-02-20 16:48:59,346 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:48:59,346 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1556879870] [2022-02-20 16:48:59,346 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:48:59,346 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:48:59,375 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:59,488 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:48:59,491 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:59,495 INFO L290 TraceCheckUtils]: 0: Hoare triple {2042#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {2013#true} is VALID [2022-02-20 16:48:59,495 INFO L290 TraceCheckUtils]: 1: Hoare triple {2013#true} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {2013#true} is VALID [2022-02-20 16:48:59,495 INFO L290 TraceCheckUtils]: 2: Hoare triple {2013#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {2013#true} is VALID [2022-02-20 16:48:59,495 INFO L290 TraceCheckUtils]: 3: Hoare triple {2013#true} assume true; {2013#true} is VALID [2022-02-20 16:48:59,496 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {2013#true} {2013#true} #68#return; {2013#true} is VALID [2022-02-20 16:48:59,496 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 16:48:59,501 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:59,518 INFO L290 TraceCheckUtils]: 0: Hoare triple {2042#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {2043#(= insert_list_~l.offset 0)} is VALID [2022-02-20 16:48:59,519 INFO L290 TraceCheckUtils]: 1: Hoare triple {2043#(= insert_list_~l.offset 0)} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {2043#(= insert_list_~l.offset 0)} is VALID [2022-02-20 16:48:59,519 INFO L290 TraceCheckUtils]: 2: Hoare triple {2043#(= insert_list_~l.offset 0)} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {2025#(= ~head~0.offset 0)} is VALID [2022-02-20 16:48:59,519 INFO L290 TraceCheckUtils]: 3: Hoare triple {2025#(= ~head~0.offset 0)} assume true; {2025#(= ~head~0.offset 0)} is VALID [2022-02-20 16:48:59,520 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {2025#(= ~head~0.offset 0)} {2013#true} #70#return; {2025#(= ~head~0.offset 0)} is VALID [2022-02-20 16:48:59,520 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-02-20 16:48:59,527 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:59,604 INFO L290 TraceCheckUtils]: 0: Hoare triple {2042#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {2044#(and (= ~head~0.offset |old(~head~0.offset)|) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} is VALID [2022-02-20 16:48:59,605 INFO L290 TraceCheckUtils]: 1: Hoare triple {2044#(and (= ~head~0.offset |old(~head~0.offset)|) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {2045#(and (or (not (= |old(~head~0.offset)| 0)) (not (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (+ insert_list_~l.offset 4)) 0))) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} is VALID [2022-02-20 16:48:59,606 INFO L290 TraceCheckUtils]: 2: Hoare triple {2045#(and (or (not (= |old(~head~0.offset)| 0)) (not (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (+ insert_list_~l.offset 4)) 0))) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {2046#(and (<= ~head~0.offset 0) (or (not (= |old(~head~0.offset)| 0)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) 4) 0))) (< 0 (+ ~head~0.offset 1)) (= (select |#valid| ~head~0.base) 1))} is VALID [2022-02-20 16:48:59,606 INFO L290 TraceCheckUtils]: 3: Hoare triple {2046#(and (<= ~head~0.offset 0) (or (not (= |old(~head~0.offset)| 0)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) 4) 0))) (< 0 (+ ~head~0.offset 1)) (= (select |#valid| ~head~0.base) 1))} assume true; {2046#(and (<= ~head~0.offset 0) (or (not (= |old(~head~0.offset)| 0)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) 4) 0))) (< 0 (+ ~head~0.offset 1)) (= (select |#valid| ~head~0.base) 1))} is VALID [2022-02-20 16:48:59,608 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {2046#(and (<= ~head~0.offset 0) (or (not (= |old(~head~0.offset)| 0)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) 4) 0))) (< 0 (+ ~head~0.offset 1)) (= (select |#valid| ~head~0.base) 1))} {2025#(= ~head~0.offset 0)} #72#return; {2031#(and (= ~head~0.offset 0) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) 4) 0)) (= (select |#valid| ~head~0.base) 1))} is VALID [2022-02-20 16:48:59,608 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-02-20 16:48:59,613 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:59,702 INFO L290 TraceCheckUtils]: 0: Hoare triple {2042#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {2047#(and (= |old(~head~0.base)| ~head~0.base) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base (select |#memory_$Pointer$.base| insert_list_~l.base)) |#memory_$Pointer$.base|) (= ~head~0.offset |old(~head~0.offset)|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0))} is VALID [2022-02-20 16:48:59,703 INFO L290 TraceCheckUtils]: 1: Hoare triple {2047#(and (= |old(~head~0.base)| ~head~0.base) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base (select |#memory_$Pointer$.base| insert_list_~l.base)) |#memory_$Pointer$.base|) (= ~head~0.offset |old(~head~0.offset)|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0))} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {2048#(and (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base (select |#memory_$Pointer$.base| insert_list_~l.base)) |#memory_$Pointer$.base|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) 4) |old(~head~0.offset)|) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (+ insert_list_~l.offset 4))))} is VALID [2022-02-20 16:48:59,704 INFO L290 TraceCheckUtils]: 2: Hoare triple {2048#(and (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base (select |#memory_$Pointer$.base| insert_list_~l.base)) |#memory_$Pointer$.base|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) 4) |old(~head~0.offset)|) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (+ insert_list_~l.offset 4))))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {2049#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (= ~head~0.offset 0) (or (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0) (= (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_$Pointer$.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)))} is VALID [2022-02-20 16:48:59,704 INFO L290 TraceCheckUtils]: 3: Hoare triple {2049#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (= ~head~0.offset 0) (or (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0) (= (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_$Pointer$.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)))} assume true; {2049#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (= ~head~0.offset 0) (or (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0) (= (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_$Pointer$.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)))} is VALID [2022-02-20 16:48:59,706 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {2049#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (= ~head~0.offset 0) (or (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0) (= (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_$Pointer$.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)))} {2031#(and (= ~head~0.offset 0) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) 4) 0)) (= (select |#valid| ~head~0.base) 1))} #74#return; {2037#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4) 0)) (= ~head~0.offset 0) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) 4) 0))} is VALID [2022-02-20 16:48:59,706 INFO L290 TraceCheckUtils]: 0: Hoare triple {2013#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(16, 2);~head~0.base, ~head~0.offset := 0, 0; {2013#true} is VALID [2022-02-20 16:48:59,706 INFO L290 TraceCheckUtils]: 1: Hoare triple {2013#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1, main_#t~ret8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~ret11#1.base, main_#t~ret11#1.offset, main_#t~mem12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;havoc main_~mylist~0#1.base, main_~mylist~0#1.offset;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {2013#true} is VALID [2022-02-20 16:48:59,707 INFO L272 TraceCheckUtils]: 2: Hoare triple {2013#true} call main_#t~ret7#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2); {2042#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#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:48:59,707 INFO L290 TraceCheckUtils]: 3: Hoare triple {2042#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {2013#true} is VALID [2022-02-20 16:48:59,707 INFO L290 TraceCheckUtils]: 4: Hoare triple {2013#true} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {2013#true} is VALID [2022-02-20 16:48:59,707 INFO L290 TraceCheckUtils]: 5: Hoare triple {2013#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {2013#true} is VALID [2022-02-20 16:48:59,707 INFO L290 TraceCheckUtils]: 6: Hoare triple {2013#true} assume true; {2013#true} is VALID [2022-02-20 16:48:59,707 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {2013#true} {2013#true} #68#return; {2013#true} is VALID [2022-02-20 16:48:59,708 INFO L290 TraceCheckUtils]: 8: Hoare triple {2013#true} assume -2147483648 <= main_#t~ret7#1 && main_#t~ret7#1 <= 2147483647;havoc main_#t~ret7#1; {2013#true} is VALID [2022-02-20 16:48:59,709 INFO L272 TraceCheckUtils]: 9: Hoare triple {2013#true} call main_#t~ret8#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5); {2042#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#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:48:59,709 INFO L290 TraceCheckUtils]: 10: Hoare triple {2042#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {2043#(= insert_list_~l.offset 0)} is VALID [2022-02-20 16:48:59,709 INFO L290 TraceCheckUtils]: 11: Hoare triple {2043#(= insert_list_~l.offset 0)} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {2043#(= insert_list_~l.offset 0)} is VALID [2022-02-20 16:48:59,710 INFO L290 TraceCheckUtils]: 12: Hoare triple {2043#(= insert_list_~l.offset 0)} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {2025#(= ~head~0.offset 0)} is VALID [2022-02-20 16:48:59,710 INFO L290 TraceCheckUtils]: 13: Hoare triple {2025#(= ~head~0.offset 0)} assume true; {2025#(= ~head~0.offset 0)} is VALID [2022-02-20 16:48:59,711 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {2025#(= ~head~0.offset 0)} {2013#true} #70#return; {2025#(= ~head~0.offset 0)} is VALID [2022-02-20 16:48:59,711 INFO L290 TraceCheckUtils]: 15: Hoare triple {2025#(= ~head~0.offset 0)} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;havoc main_#t~ret8#1; {2025#(= ~head~0.offset 0)} is VALID [2022-02-20 16:48:59,712 INFO L272 TraceCheckUtils]: 16: Hoare triple {2025#(= ~head~0.offset 0)} call main_#t~ret9#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1); {2042#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#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:48:59,713 INFO L290 TraceCheckUtils]: 17: Hoare triple {2042#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {2044#(and (= ~head~0.offset |old(~head~0.offset)|) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} is VALID [2022-02-20 16:48:59,713 INFO L290 TraceCheckUtils]: 18: Hoare triple {2044#(and (= ~head~0.offset |old(~head~0.offset)|) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {2045#(and (or (not (= |old(~head~0.offset)| 0)) (not (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (+ insert_list_~l.offset 4)) 0))) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} is VALID [2022-02-20 16:48:59,714 INFO L290 TraceCheckUtils]: 19: Hoare triple {2045#(and (or (not (= |old(~head~0.offset)| 0)) (not (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (+ insert_list_~l.offset 4)) 0))) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {2046#(and (<= ~head~0.offset 0) (or (not (= |old(~head~0.offset)| 0)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) 4) 0))) (< 0 (+ ~head~0.offset 1)) (= (select |#valid| ~head~0.base) 1))} is VALID [2022-02-20 16:48:59,714 INFO L290 TraceCheckUtils]: 20: Hoare triple {2046#(and (<= ~head~0.offset 0) (or (not (= |old(~head~0.offset)| 0)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) 4) 0))) (< 0 (+ ~head~0.offset 1)) (= (select |#valid| ~head~0.base) 1))} assume true; {2046#(and (<= ~head~0.offset 0) (or (not (= |old(~head~0.offset)| 0)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) 4) 0))) (< 0 (+ ~head~0.offset 1)) (= (select |#valid| ~head~0.base) 1))} is VALID [2022-02-20 16:48:59,716 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2046#(and (<= ~head~0.offset 0) (or (not (= |old(~head~0.offset)| 0)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) 4) 0))) (< 0 (+ ~head~0.offset 1)) (= (select |#valid| ~head~0.base) 1))} {2025#(= ~head~0.offset 0)} #72#return; {2031#(and (= ~head~0.offset 0) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) 4) 0)) (= (select |#valid| ~head~0.base) 1))} is VALID [2022-02-20 16:48:59,716 INFO L290 TraceCheckUtils]: 22: Hoare triple {2031#(and (= ~head~0.offset 0) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) 4) 0)) (= (select |#valid| ~head~0.base) 1))} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;havoc main_#t~ret9#1; {2031#(and (= ~head~0.offset 0) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) 4) 0)) (= (select |#valid| ~head~0.base) 1))} is VALID [2022-02-20 16:48:59,717 INFO L272 TraceCheckUtils]: 23: Hoare triple {2031#(and (= ~head~0.offset 0) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) 4) 0)) (= (select |#valid| ~head~0.base) 1))} call main_#t~ret10#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3); {2042#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#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:48:59,718 INFO L290 TraceCheckUtils]: 24: Hoare triple {2042#(and (= |old(#length)| |#length|) (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {2047#(and (= |old(~head~0.base)| ~head~0.base) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base (select |#memory_$Pointer$.base| insert_list_~l.base)) |#memory_$Pointer$.base|) (= ~head~0.offset |old(~head~0.offset)|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0))} is VALID [2022-02-20 16:48:59,719 INFO L290 TraceCheckUtils]: 25: Hoare triple {2047#(and (= |old(~head~0.base)| ~head~0.base) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base (select |#memory_$Pointer$.base| insert_list_~l.base)) |#memory_$Pointer$.base|) (= ~head~0.offset |old(~head~0.offset)|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0))} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {2048#(and (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base (select |#memory_$Pointer$.base| insert_list_~l.base)) |#memory_$Pointer$.base|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) 4) |old(~head~0.offset)|) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (+ insert_list_~l.offset 4))))} is VALID [2022-02-20 16:48:59,719 INFO L290 TraceCheckUtils]: 26: Hoare triple {2048#(and (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base (select |#memory_$Pointer$.base| insert_list_~l.base)) |#memory_$Pointer$.base|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) 4) |old(~head~0.offset)|) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (+ insert_list_~l.offset 4))))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {2049#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (= ~head~0.offset 0) (or (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0) (= (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_$Pointer$.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)))} is VALID [2022-02-20 16:48:59,720 INFO L290 TraceCheckUtils]: 27: Hoare triple {2049#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (= ~head~0.offset 0) (or (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0) (= (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_$Pointer$.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)))} assume true; {2049#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (= ~head~0.offset 0) (or (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0) (= (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_$Pointer$.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)))} is VALID [2022-02-20 16:48:59,721 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2049#(and (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (= ~head~0.offset 0) (or (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 0) (= (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) (select |old(#memory_$Pointer$.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)))} {2031#(and (= ~head~0.offset 0) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) 4) 0)) (= (select |#valid| ~head~0.base) 1))} #74#return; {2037#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4) 0)) (= ~head~0.offset 0) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) 4) 0))} is VALID [2022-02-20 16:48:59,722 INFO L290 TraceCheckUtils]: 29: Hoare triple {2037#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) 4)) 4) 0)) (= ~head~0.offset 0) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) 4) 0))} assume -2147483648 <= main_#t~ret10#1 && main_#t~ret10#1 <= 2147483647;havoc main_#t~ret10#1;assume { :begin_inline_search_list } true;search_list_#in~l#1.base, search_list_#in~l#1.offset, search_list_#in~k#1 := ~head~0.base, ~head~0.offset, 2;havoc search_list_#res#1.base, search_list_#res#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset, search_list_#t~mem3#1, search_list_#t~short4#1, search_list_~l#1.base, search_list_~l#1.offset, search_list_~k#1;search_list_~l#1.base, search_list_~l#1.offset := search_list_#in~l#1.base, search_list_#in~l#1.offset;search_list_~k#1 := search_list_#in~k#1;search_list_~l#1.base, search_list_~l#1.offset := ~head~0.base, ~head~0.offset; {2038#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) 4) 0)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4)) 0))} is VALID [2022-02-20 16:48:59,722 INFO L290 TraceCheckUtils]: 30: Hoare triple {2038#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) 4) 0)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4)) 0))} search_list_#t~short4#1 := search_list_~l#1.base != 0 || search_list_~l#1.offset != 0; {2038#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) 4) 0)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4)) 0))} is VALID [2022-02-20 16:48:59,723 INFO L290 TraceCheckUtils]: 31: Hoare triple {2038#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) 4) 0)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4)) 0))} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~int(search_list_~l#1.base, search_list_~l#1.offset, 4);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {2038#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) 4) 0)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4)) 0))} is VALID [2022-02-20 16:48:59,723 INFO L290 TraceCheckUtils]: 32: Hoare triple {2038#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4))) 4) 0)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4)) 0))} assume !!search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1;call search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset := read~$Pointer$(search_list_~l#1.base, 4 + search_list_~l#1.offset, 4);search_list_~l#1.base, search_list_~l#1.offset := search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset; {2039#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4)) 0)))} is VALID [2022-02-20 16:48:59,724 INFO L290 TraceCheckUtils]: 33: Hoare triple {2039#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4)) 0)))} search_list_#t~short4#1 := search_list_~l#1.base != 0 || search_list_~l#1.offset != 0; {2039#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4)) 0)))} is VALID [2022-02-20 16:48:59,724 INFO L290 TraceCheckUtils]: 34: Hoare triple {2039#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4)) 0)))} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~int(search_list_~l#1.base, search_list_~l#1.offset, 4);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {2039#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4)) 0)))} is VALID [2022-02-20 16:48:59,725 INFO L290 TraceCheckUtils]: 35: Hoare triple {2039#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (+ |ULTIMATE.start_search_list_~l#1.offset| 4)) 0)))} assume !!search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1;call search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset := read~$Pointer$(search_list_~l#1.base, 4 + search_list_~l#1.offset, 4);search_list_~l#1.base, search_list_~l#1.offset := search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset; {2040#(not (= |ULTIMATE.start_search_list_~l#1.base| 0))} is VALID [2022-02-20 16:48:59,725 INFO L290 TraceCheckUtils]: 36: Hoare triple {2040#(not (= |ULTIMATE.start_search_list_~l#1.base| 0))} search_list_#t~short4#1 := search_list_~l#1.base != 0 || search_list_~l#1.offset != 0; {2041#|ULTIMATE.start_search_list_#t~short4#1|} is VALID [2022-02-20 16:48:59,725 INFO L290 TraceCheckUtils]: 37: Hoare triple {2041#|ULTIMATE.start_search_list_#t~short4#1|} assume !search_list_#t~short4#1; {2014#false} is VALID [2022-02-20 16:48:59,726 INFO L290 TraceCheckUtils]: 38: Hoare triple {2014#false} assume !search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1; {2014#false} is VALID [2022-02-20 16:48:59,726 INFO L290 TraceCheckUtils]: 39: Hoare triple {2014#false} search_list_#res#1.base, search_list_#res#1.offset := search_list_~l#1.base, search_list_~l#1.offset; {2014#false} is VALID [2022-02-20 16:48:59,726 INFO L290 TraceCheckUtils]: 40: Hoare triple {2014#false} main_#t~ret11#1.base, main_#t~ret11#1.offset := search_list_#res#1.base, search_list_#res#1.offset;assume { :end_inline_search_list } true;main_~temp~0#1.base, main_~temp~0#1.offset := main_#t~ret11#1.base, main_#t~ret11#1.offset;havoc main_#t~ret11#1.base, main_#t~ret11#1.offset;call main_#t~mem12#1 := read~int(main_~temp~0#1.base, main_~temp~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 1 == main_#t~mem12#1 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {2014#false} is VALID [2022-02-20 16:48:59,726 INFO L290 TraceCheckUtils]: 41: Hoare triple {2014#false} assume 0 == __VERIFIER_assert_~cond#1; {2014#false} is VALID [2022-02-20 16:48:59,726 INFO L290 TraceCheckUtils]: 42: Hoare triple {2014#false} assume !false; {2014#false} is VALID [2022-02-20 16:48:59,726 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 22 proven. 11 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 16:48:59,726 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:48:59,727 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1556879870] [2022-02-20 16:48:59,727 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1556879870] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:48:59,727 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1656579601] [2022-02-20 16:48:59,727 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:48:59,727 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:48:59,727 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:48:59,740 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:48:59,741 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:48:59,886 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:59,888 INFO L263 TraceCheckSpWp]: Trace formula consists of 407 conjuncts, 62 conjunts are in the unsatisfiable core [2022-02-20 16:48:59,904 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:59,906 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:48:59,991 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:49:00,019 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:49:00,215 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 14 [2022-02-20 16:49:00,229 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:49:00,360 INFO L356 Elim1Store]: treesize reduction 25, result has 45.7 percent of original size [2022-02-20 16:49:00,360 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 1 new quantified variables, introduced 1 case distinctions, treesize of input 23 treesize of output 28 [2022-02-20 16:49:00,372 INFO L356 Elim1Store]: treesize reduction 4, result has 71.4 percent of original size [2022-02-20 16:49:00,373 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 17 treesize of output 17 [2022-02-20 16:49:00,472 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:49:00,586 INFO L356 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2022-02-20 16:49:00,586 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 32 treesize of output 15 [2022-02-20 16:49:00,614 INFO L290 TraceCheckUtils]: 0: Hoare triple {2013#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(16, 2);~head~0.base, ~head~0.offset := 0, 0; {2013#true} is VALID [2022-02-20 16:49:00,614 INFO L290 TraceCheckUtils]: 1: Hoare triple {2013#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1, main_#t~ret8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~ret11#1.base, main_#t~ret11#1.offset, main_#t~mem12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;havoc main_~mylist~0#1.base, main_~mylist~0#1.offset;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {2013#true} is VALID [2022-02-20 16:49:00,614 INFO L272 TraceCheckUtils]: 2: Hoare triple {2013#true} call main_#t~ret7#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2); {2013#true} is VALID [2022-02-20 16:49:00,614 INFO L290 TraceCheckUtils]: 3: Hoare triple {2013#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {2013#true} is VALID [2022-02-20 16:49:00,614 INFO L290 TraceCheckUtils]: 4: Hoare triple {2013#true} assume ~head~0.base == 0 && ~head~0.offset == 0;call write~$Pointer$(0, 0, ~l.base, 4 + ~l.offset, 4); {2013#true} is VALID [2022-02-20 16:49:00,614 INFO L290 TraceCheckUtils]: 5: Hoare triple {2013#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {2013#true} is VALID [2022-02-20 16:49:00,614 INFO L290 TraceCheckUtils]: 6: Hoare triple {2013#true} assume true; {2013#true} is VALID [2022-02-20 16:49:00,614 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {2013#true} {2013#true} #68#return; {2013#true} is VALID [2022-02-20 16:49:00,614 INFO L290 TraceCheckUtils]: 8: Hoare triple {2013#true} assume -2147483648 <= main_#t~ret7#1 && main_#t~ret7#1 <= 2147483647;havoc main_#t~ret7#1; {2013#true} is VALID [2022-02-20 16:49:00,615 INFO L272 TraceCheckUtils]: 9: Hoare triple {2013#true} call main_#t~ret8#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5); {2013#true} is VALID [2022-02-20 16:49:00,615 INFO L290 TraceCheckUtils]: 10: Hoare triple {2013#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {2083#(not (= 0 insert_list_~l.base))} is VALID [2022-02-20 16:49:00,616 INFO L290 TraceCheckUtils]: 11: Hoare triple {2083#(not (= 0 insert_list_~l.base))} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {2083#(not (= 0 insert_list_~l.base))} is VALID [2022-02-20 16:49:00,616 INFO L290 TraceCheckUtils]: 12: Hoare triple {2083#(not (= 0 insert_list_~l.base))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {2090#(not (= ~head~0.base 0))} is VALID [2022-02-20 16:49:00,617 INFO L290 TraceCheckUtils]: 13: Hoare triple {2090#(not (= ~head~0.base 0))} assume true; {2090#(not (= ~head~0.base 0))} is VALID [2022-02-20 16:49:00,617 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {2090#(not (= ~head~0.base 0))} {2013#true} #70#return; {2090#(not (= ~head~0.base 0))} is VALID [2022-02-20 16:49:00,618 INFO L290 TraceCheckUtils]: 15: Hoare triple {2090#(not (= ~head~0.base 0))} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;havoc main_#t~ret8#1; {2090#(not (= ~head~0.base 0))} is VALID [2022-02-20 16:49:00,618 INFO L272 TraceCheckUtils]: 16: Hoare triple {2090#(not (= ~head~0.base 0))} call main_#t~ret9#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1); {2103#(= |old(~head~0.base)| ~head~0.base)} is VALID [2022-02-20 16:49:00,619 INFO L290 TraceCheckUtils]: 17: Hoare triple {2103#(= |old(~head~0.base)| ~head~0.base)} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {2107#(and (= |old(~head~0.base)| ~head~0.base) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} is VALID [2022-02-20 16:49:00,620 INFO L290 TraceCheckUtils]: 18: Hoare triple {2107#(and (= |old(~head~0.base)| ~head~0.base) (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1))} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {2111#(and (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (+ insert_list_~l.offset 4))))} is VALID [2022-02-20 16:49:00,620 INFO L290 TraceCheckUtils]: 19: Hoare triple {2111#(and (= insert_list_~l.offset 0) (= (select |#valid| insert_list_~l.base) 1) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (+ insert_list_~l.offset 4))))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {2115#(and (= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) (= (select |#valid| ~head~0.base) 1))} is VALID [2022-02-20 16:49:00,621 INFO L290 TraceCheckUtils]: 20: Hoare triple {2115#(and (= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) (= (select |#valid| ~head~0.base) 1))} assume true; {2115#(and (= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) (= (select |#valid| ~head~0.base) 1))} is VALID [2022-02-20 16:49:00,622 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2115#(and (= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) (= (select |#valid| ~head~0.base) 1))} {2090#(not (= ~head~0.base 0))} #72#return; {2031#(and (= ~head~0.offset 0) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) 4) 0)) (= (select |#valid| ~head~0.base) 1))} is VALID [2022-02-20 16:49:00,622 INFO L290 TraceCheckUtils]: 22: Hoare triple {2031#(and (= ~head~0.offset 0) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) 4) 0)) (= (select |#valid| ~head~0.base) 1))} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;havoc main_#t~ret9#1; {2031#(and (= ~head~0.offset 0) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) 4) 0)) (= (select |#valid| ~head~0.base) 1))} is VALID [2022-02-20 16:49:00,623 INFO L272 TraceCheckUtils]: 23: Hoare triple {2031#(and (= ~head~0.offset 0) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) 4) 0)) (= (select |#valid| ~head~0.base) 1))} call main_#t~ret10#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3); {2128#(and (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:49:00,624 INFO L290 TraceCheckUtils]: 24: Hoare triple {2128#(and (= |old(~head~0.base)| ~head~0.base) (= ~head~0.offset |old(~head~0.offset)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#valid)| |#valid|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~int(~k, ~l.base, ~l.offset, 4); {2047#(and (= |old(~head~0.base)| ~head~0.base) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base (select |#memory_$Pointer$.base| insert_list_~l.base)) |#memory_$Pointer$.base|) (= ~head~0.offset |old(~head~0.offset)|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0))} is VALID [2022-02-20 16:49:00,625 INFO L290 TraceCheckUtils]: 25: Hoare triple {2047#(and (= |old(~head~0.base)| ~head~0.base) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base (select |#memory_$Pointer$.base| insert_list_~l.base)) |#memory_$Pointer$.base|) (= ~head~0.offset |old(~head~0.offset)|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0))} assume !(~head~0.base == 0 && ~head~0.offset == 0);call write~int(~k, ~l.base, ~l.offset, 4);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, 4 + ~l.offset, 4); {2048#(and (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base (select |#memory_$Pointer$.base| insert_list_~l.base)) |#memory_$Pointer$.base|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) 4) |old(~head~0.offset)|) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (+ insert_list_~l.offset 4))))} is VALID [2022-02-20 16:49:00,625 INFO L290 TraceCheckUtils]: 26: Hoare triple {2048#(and (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base (select |#memory_$Pointer$.base| insert_list_~l.base)) |#memory_$Pointer$.base|) (= (select |old(#valid)| insert_list_~l.base) 0) (= insert_list_~l.offset 0) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) 4) |old(~head~0.offset)|) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (+ insert_list_~l.offset 4))))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0; {2138#(and (= (store |old(#memory_$Pointer$.base)| ~head~0.base (select |#memory_$Pointer$.base| ~head~0.base)) |#memory_$Pointer$.base|) (= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (= (select |old(#valid)| ~head~0.base) 0))} is VALID [2022-02-20 16:49:00,626 INFO L290 TraceCheckUtils]: 27: Hoare triple {2138#(and (= (store |old(#memory_$Pointer$.base)| ~head~0.base (select |#memory_$Pointer$.base| ~head~0.base)) |#memory_$Pointer$.base|) (= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (= (select |old(#valid)| ~head~0.base) 0))} assume true; {2138#(and (= (store |old(#memory_$Pointer$.base)| ~head~0.base (select |#memory_$Pointer$.base| ~head~0.base)) |#memory_$Pointer$.base|) (= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (= (select |old(#valid)| ~head~0.base) 0))} is VALID [2022-02-20 16:49:00,627 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2138#(and (= (store |old(#memory_$Pointer$.base)| ~head~0.base (select |#memory_$Pointer$.base| ~head~0.base)) |#memory_$Pointer$.base|) (= ~head~0.offset 0) (= |old(~head~0.base)| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) 4)) (= (select |old(#valid)| ~head~0.base) 0))} {2031#(and (= ~head~0.offset 0) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) 4) 0)) (= (select |#valid| ~head~0.base) 1))} #74#return; {2145#(and (not (= ~head~0.base (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4)))) (= ~head~0.offset 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) 4) 0)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) 4) 0))} is VALID [2022-02-20 16:49:00,628 INFO L290 TraceCheckUtils]: 29: Hoare triple {2145#(and (not (= ~head~0.base (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4)))) (= ~head~0.offset 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (+ ~head~0.offset 4))) 4) 0)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) 4) 0))} assume -2147483648 <= main_#t~ret10#1 && main_#t~ret10#1 <= 2147483647;havoc main_#t~ret10#1;assume { :begin_inline_search_list } true;search_list_#in~l#1.base, search_list_#in~l#1.offset, search_list_#in~k#1 := ~head~0.base, ~head~0.offset, 2;havoc search_list_#res#1.base, search_list_#res#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset, search_list_#t~mem3#1, search_list_#t~short4#1, search_list_~l#1.base, search_list_~l#1.offset, search_list_~k#1;search_list_~l#1.base, search_list_~l#1.offset := search_list_#in~l#1.base, search_list_#in~l#1.offset;search_list_~k#1 := search_list_#in~k#1;search_list_~l#1.base, search_list_~l#1.offset := ~head~0.base, ~head~0.offset; {2149#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 4) 0)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4) |ULTIMATE.start_search_list_~l#1.base|)))} is VALID [2022-02-20 16:49:00,629 INFO L290 TraceCheckUtils]: 30: Hoare triple {2149#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 4) 0)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4) |ULTIMATE.start_search_list_~l#1.base|)))} search_list_#t~short4#1 := search_list_~l#1.base != 0 || search_list_~l#1.offset != 0; {2149#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 4) 0)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4) |ULTIMATE.start_search_list_~l#1.base|)))} is VALID [2022-02-20 16:49:00,629 INFO L290 TraceCheckUtils]: 31: Hoare triple {2149#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 4) 0)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4) |ULTIMATE.start_search_list_~l#1.base|)))} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~int(search_list_~l#1.base, search_list_~l#1.offset, 4);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {2149#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 4) 0)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4) |ULTIMATE.start_search_list_~l#1.base|)))} is VALID [2022-02-20 16:49:00,630 INFO L290 TraceCheckUtils]: 32: Hoare triple {2149#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4)) 4) 0)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) 4) |ULTIMATE.start_search_list_~l#1.base|)))} assume !!search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1;call search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset := read~$Pointer$(search_list_~l#1.base, 4 + search_list_~l#1.offset, 4);search_list_~l#1.base, search_list_~l#1.offset := search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset; {2159#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (exists ((|v_ULTIMATE.start_search_list_~l#1.base_18| Int)) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_18|) 4)) 4) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_18|) 4) |v_ULTIMATE.start_search_list_~l#1.base_18|)) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_18|) 4) |ULTIMATE.start_search_list_~l#1.base|))))} is VALID [2022-02-20 16:49:00,631 INFO L290 TraceCheckUtils]: 33: Hoare triple {2159#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (exists ((|v_ULTIMATE.start_search_list_~l#1.base_18| Int)) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_18|) 4)) 4) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_18|) 4) |v_ULTIMATE.start_search_list_~l#1.base_18|)) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_18|) 4) |ULTIMATE.start_search_list_~l#1.base|))))} search_list_#t~short4#1 := search_list_~l#1.base != 0 || search_list_~l#1.offset != 0; {2159#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (exists ((|v_ULTIMATE.start_search_list_~l#1.base_18| Int)) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_18|) 4)) 4) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_18|) 4) |v_ULTIMATE.start_search_list_~l#1.base_18|)) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_18|) 4) |ULTIMATE.start_search_list_~l#1.base|))))} is VALID [2022-02-20 16:49:00,631 INFO L290 TraceCheckUtils]: 34: Hoare triple {2159#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (exists ((|v_ULTIMATE.start_search_list_~l#1.base_18| Int)) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_18|) 4)) 4) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_18|) 4) |v_ULTIMATE.start_search_list_~l#1.base_18|)) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_18|) 4) |ULTIMATE.start_search_list_~l#1.base|))))} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~int(search_list_~l#1.base, search_list_~l#1.offset, 4);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {2159#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (exists ((|v_ULTIMATE.start_search_list_~l#1.base_18| Int)) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_18|) 4)) 4) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_18|) 4) |v_ULTIMATE.start_search_list_~l#1.base_18|)) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_18|) 4) |ULTIMATE.start_search_list_~l#1.base|))))} is VALID [2022-02-20 16:49:00,632 INFO L290 TraceCheckUtils]: 35: Hoare triple {2159#(and (= |ULTIMATE.start_search_list_~l#1.offset| 0) (exists ((|v_ULTIMATE.start_search_list_~l#1.base_18| Int)) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_18|) 4)) 4) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_18|) 4) |v_ULTIMATE.start_search_list_~l#1.base_18|)) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_18|) 4) |ULTIMATE.start_search_list_~l#1.base|))))} assume !!search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1;call search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset := read~$Pointer$(search_list_~l#1.base, 4 + search_list_~l#1.offset, 4);search_list_~l#1.base, search_list_~l#1.offset := search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset; {2040#(not (= |ULTIMATE.start_search_list_~l#1.base| 0))} is VALID [2022-02-20 16:49:00,632 INFO L290 TraceCheckUtils]: 36: Hoare triple {2040#(not (= |ULTIMATE.start_search_list_~l#1.base| 0))} search_list_#t~short4#1 := search_list_~l#1.base != 0 || search_list_~l#1.offset != 0; {2041#|ULTIMATE.start_search_list_#t~short4#1|} is VALID [2022-02-20 16:49:00,633 INFO L290 TraceCheckUtils]: 37: Hoare triple {2041#|ULTIMATE.start_search_list_#t~short4#1|} assume !search_list_#t~short4#1; {2014#false} is VALID [2022-02-20 16:49:00,633 INFO L290 TraceCheckUtils]: 38: Hoare triple {2014#false} assume !search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1; {2014#false} is VALID [2022-02-20 16:49:00,633 INFO L290 TraceCheckUtils]: 39: Hoare triple {2014#false} search_list_#res#1.base, search_list_#res#1.offset := search_list_~l#1.base, search_list_~l#1.offset; {2014#false} is VALID [2022-02-20 16:49:00,633 INFO L290 TraceCheckUtils]: 40: Hoare triple {2014#false} main_#t~ret11#1.base, main_#t~ret11#1.offset := search_list_#res#1.base, search_list_#res#1.offset;assume { :end_inline_search_list } true;main_~temp~0#1.base, main_~temp~0#1.offset := main_#t~ret11#1.base, main_#t~ret11#1.offset;havoc main_#t~ret11#1.base, main_#t~ret11#1.offset;call main_#t~mem12#1 := read~int(main_~temp~0#1.base, main_~temp~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 1 == main_#t~mem12#1 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {2014#false} is VALID [2022-02-20 16:49:00,633 INFO L290 TraceCheckUtils]: 41: Hoare triple {2014#false} assume 0 == __VERIFIER_assert_~cond#1; {2014#false} is VALID [2022-02-20 16:49:00,633 INFO L290 TraceCheckUtils]: 42: Hoare triple {2014#false} assume !false; {2014#false} is VALID [2022-02-20 16:49:00,634 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 19 proven. 19 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 16:49:00,634 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:49:00,833 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:49:00,833 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 1 new quantified variables, introduced 1 case distinctions, treesize of input 16 treesize of output 20 [2022-02-20 16:49:00,855 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_arrayElimArr_6 (Array Int Int)) (v_~head~0.base_62 Int)) (or (not (= (select |c_#valid| v_~head~0.base_62) 0)) (not (= (select (select (store |c_#memory_$Pointer$.base| v_~head~0.base_62 v_arrayElimArr_6) c_~head~0.base) (+ c_~head~0.offset 4)) 0)) (not (= (select v_arrayElimArr_6 4) c_~head~0.base)))) is different from false [2022-02-20 16:49:00,856 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1656579601] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:49:00,857 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 16:49:00,857 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 18] total 28 [2022-02-20 16:49:00,857 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1234232707] [2022-02-20 16:49:00,857 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 16:49:00,858 INFO L78 Accepts]: Start accepts. Automaton has has 28 states, 28 states have (on average 1.9642857142857142) internal successors, (55), 23 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 4 states have call successors, (7) Word has length 43 [2022-02-20 16:49:00,860 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:49:00,861 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 28 states, 28 states have (on average 1.9642857142857142) internal successors, (55), 23 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 4 states have call successors, (7) [2022-02-20 16:49:00,935 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:49:00,936 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 28 states [2022-02-20 16:49:00,936 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:49:00,936 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2022-02-20 16:49:00,936 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=90, Invalid=843, Unknown=1, NotChecked=58, Total=992 [2022-02-20 16:49:00,937 INFO L87 Difference]: Start difference. First operand 42 states and 48 transitions. Second operand has 28 states, 28 states have (on average 1.9642857142857142) internal successors, (55), 23 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 4 states have call successors, (7) [2022-02-20 16:49:02,814 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:49:02,814 INFO L93 Difference]: Finished difference Result 66 states and 75 transitions. [2022-02-20 16:49:02,814 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-02-20 16:49:02,815 INFO L78 Accepts]: Start accepts. Automaton has has 28 states, 28 states have (on average 1.9642857142857142) internal successors, (55), 23 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 4 states have call successors, (7) Word has length 43 [2022-02-20 16:49:02,815 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:49:02,816 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 28 states have (on average 1.9642857142857142) internal successors, (55), 23 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 4 states have call successors, (7) [2022-02-20 16:49:02,819 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 65 transitions. [2022-02-20 16:49:02,820 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 28 states have (on average 1.9642857142857142) internal successors, (55), 23 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 4 states have call successors, (7) [2022-02-20 16:49:02,822 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 65 transitions. [2022-02-20 16:49:02,822 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 28 states and 65 transitions. [2022-02-20 16:49:02,895 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:49:02,897 INFO L225 Difference]: With dead ends: 66 [2022-02-20 16:49:02,897 INFO L226 Difference]: Without dead ends: 54 [2022-02-20 16:49:02,898 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 48 SyntacticMatches, 4 SemanticMatches, 52 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 564 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=404, Invalid=2355, Unknown=1, NotChecked=102, Total=2862 [2022-02-20 16:49:02,899 INFO L933 BasicCegarLoop]: 20 mSDtfsCounter, 34 mSDsluCounter, 244 mSDsCounter, 0 mSdLazyCounter, 405 mSolverCounterSat, 86 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 34 SdHoareTripleChecker+Valid, 264 SdHoareTripleChecker+Invalid, 497 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 86 IncrementalHoareTripleChecker+Valid, 405 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 6 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-02-20 16:49:02,899 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [34 Valid, 264 Invalid, 497 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [86 Valid, 405 Invalid, 0 Unknown, 6 Unchecked, 0.6s Time] [2022-02-20 16:49:02,900 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-02-20 16:49:02,927 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 49. [2022-02-20 16:49:02,927 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:49:02,927 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand has 49 states, 39 states have (on average 1.0769230769230769) internal successors, (42), 39 states have internal predecessors, (42), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-02-20 16:49:02,927 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand has 49 states, 39 states have (on average 1.0769230769230769) internal successors, (42), 39 states have internal predecessors, (42), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-02-20 16:49:02,928 INFO L87 Difference]: Start difference. First operand 54 states. Second operand has 49 states, 39 states have (on average 1.0769230769230769) internal successors, (42), 39 states have internal predecessors, (42), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-02-20 16:49:02,929 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:49:02,930 INFO L93 Difference]: Finished difference Result 54 states and 59 transitions. [2022-02-20 16:49:02,930 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 59 transitions. [2022-02-20 16:49:02,930 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:49:02,930 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:49:02,930 INFO L74 IsIncluded]: Start isIncluded. First operand has 49 states, 39 states have (on average 1.0769230769230769) internal successors, (42), 39 states have internal predecessors, (42), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Second operand 54 states. [2022-02-20 16:49:02,930 INFO L87 Difference]: Start difference. First operand has 49 states, 39 states have (on average 1.0769230769230769) internal successors, (42), 39 states have internal predecessors, (42), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Second operand 54 states. [2022-02-20 16:49:02,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:49:02,933 INFO L93 Difference]: Finished difference Result 54 states and 59 transitions. [2022-02-20 16:49:02,933 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 59 transitions. [2022-02-20 16:49:02,933 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:49:02,933 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:49:02,933 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:49:02,933 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:49:02,934 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 39 states have (on average 1.0769230769230769) internal successors, (42), 39 states have internal predecessors, (42), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-02-20 16:49:02,935 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 53 transitions. [2022-02-20 16:49:02,935 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 53 transitions. Word has length 43 [2022-02-20 16:49:02,936 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:49:02,936 INFO L470 AbstractCegarLoop]: Abstraction has 49 states and 53 transitions. [2022-02-20 16:49:02,936 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 28 states, 28 states have (on average 1.9642857142857142) internal successors, (55), 23 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 4 states have call successors, (7) [2022-02-20 16:49:02,936 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 53 transitions. [2022-02-20 16:49:02,936 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-02-20 16:49:02,937 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:49:02,937 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:49:02,966 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-02-20 16:49:03,154 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:49:03,155 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:49:03,155 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:49:03,155 INFO L85 PathProgramCache]: Analyzing trace with hash 1384296971, now seen corresponding path program 3 times [2022-02-20 16:49:03,155 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:49:03,155 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [541871022] [2022-02-20 16:49:03,155 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:49:03,156 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:49:03,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 16:49:03,187 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-02-20 16:49:03,212 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 16:49:03,238 INFO L138 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-02-20 16:49:03,238 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-02-20 16:49:03,239 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-02-20 16:49:03,240 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2022-02-20 16:49:03,242 INFO L732 BasicCegarLoop]: Path program histogram: [3, 1, 1, 1, 1, 1] [2022-02-20 16:49:03,244 INFO L180 ceAbstractionStarter]: Computing trace abstraction results [2022-02-20 16:49:03,267 FATAL L489 DefaultTranslator]: Callstack has procedure call flag but succeeding procedure is empty at [CALL] call #t~ret7 := insert_list(~mylist~0, 2); [2022-02-20 16:49:03,268 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.AssertionError: callstack broken after backtranslation by InlinerBacktranslator at de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator.translateProgramExecution(InlinerBacktranslator.java:230) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:216) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:225) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:225) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:206) at de.uni_freiburg.informatik.ultimate.core.lib.results.CounterExampleResult.getProgramExecutionAsString(CounterExampleResult.java:155) at de.uni_freiburg.informatik.ultimate.core.lib.results.CounterExampleResult.getLongDescription(CounterExampleResult.java:134) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ResultService.reportResult(ResultService.java:86) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarLoopResultReporter.reportResult(CegarLoopResultReporter.java:141) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.reportLocationResults(TraceAbstractionStarter.java:607) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:182) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:156) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:320) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) [2022-02-20 16:49:03,270 INFO L158 Benchmark]: Toolchain (without parser) took 16297.42ms. Allocated memory was 86.0MB in the beginning and 220.2MB in the end (delta: 134.2MB). Free memory was 53.6MB in the beginning and 159.3MB in the end (delta: -105.7MB). Peak memory consumption was 28.7MB. Max. memory is 16.1GB. [2022-02-20 16:49:03,271 INFO L158 Benchmark]: CDTParser took 0.14ms. Allocated memory is still 86.0MB. Free memory was 51.2MB in the beginning and 51.1MB in the end (delta: 84.0kB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 16:49:03,271 INFO L158 Benchmark]: CACSL2BoogieTranslator took 278.87ms. Allocated memory was 86.0MB in the beginning and 104.9MB in the end (delta: 18.9MB). Free memory was 53.4MB in the beginning and 81.7MB in the end (delta: -28.2MB). Peak memory consumption was 21.3MB. Max. memory is 16.1GB. [2022-02-20 16:49:03,271 INFO L158 Benchmark]: Boogie Procedure Inliner took 52.91ms. Allocated memory is still 104.9MB. Free memory was 81.6MB in the beginning and 80.9MB in the end (delta: 680.3kB). Peak memory consumption was 4.8MB. Max. memory is 16.1GB. [2022-02-20 16:49:03,271 INFO L158 Benchmark]: Boogie Preprocessor took 44.67ms. Allocated memory is still 104.9MB. Free memory was 80.9MB in the beginning and 78.8MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 16:49:03,271 INFO L158 Benchmark]: RCFGBuilder took 284.85ms. Allocated memory is still 104.9MB. Free memory was 78.8MB in the beginning and 65.4MB in the end (delta: 13.5MB). Peak memory consumption was 12.6MB. Max. memory is 16.1GB. [2022-02-20 16:49:03,272 INFO L158 Benchmark]: TraceAbstraction took 15627.21ms. Allocated memory was 104.9MB in the beginning and 220.2MB in the end (delta: 115.3MB). Free memory was 64.8MB in the beginning and 159.3MB in the end (delta: -94.5MB). Peak memory consumption was 19.3MB. Max. memory is 16.1GB. [2022-02-20 16:49:03,272 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.14ms. Allocated memory is still 86.0MB. Free memory was 51.2MB in the beginning and 51.1MB in the end (delta: 84.0kB). There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 278.87ms. Allocated memory was 86.0MB in the beginning and 104.9MB in the end (delta: 18.9MB). Free memory was 53.4MB in the beginning and 81.7MB in the end (delta: -28.2MB). Peak memory consumption was 21.3MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 52.91ms. Allocated memory is still 104.9MB. Free memory was 81.6MB in the beginning and 80.9MB in the end (delta: 680.3kB). Peak memory consumption was 4.8MB. Max. memory is 16.1GB. * Boogie Preprocessor took 44.67ms. Allocated memory is still 104.9MB. Free memory was 80.9MB in the beginning and 78.8MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * RCFGBuilder took 284.85ms. Allocated memory is still 104.9MB. Free memory was 78.8MB in the beginning and 65.4MB in the end (delta: 13.5MB). Peak memory consumption was 12.6MB. Max. memory is 16.1GB. * TraceAbstraction took 15627.21ms. Allocated memory was 104.9MB in the beginning and 220.2MB in the end (delta: 115.3MB). Free memory was 64.8MB in the beginning and 159.3MB in the end (delta: -94.5MB). Peak memory consumption was 19.3MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - ExceptionOrErrorResult: AssertionError: callstack broken after backtranslation by InlinerBacktranslator de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: callstack broken after backtranslation by InlinerBacktranslator: de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator.translateProgramExecution(InlinerBacktranslator.java:230) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2022-02-20 16:49:03,315 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis ### Bit-precise run ### Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/list-properties/list_search-1.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash ef935aaf7590747bfbe771bbb249e6b84337edbf0e97024d9de82d0d23d44f30 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 16:49:05,014 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 16:49:05,016 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 16:49:05,047 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 16:49:05,049 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 16:49:05,052 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 16:49:05,054 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 16:49:05,058 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 16:49:05,059 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 16:49:05,063 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 16:49:05,064 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 16:49:05,065 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 16:49:05,065 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 16:49:05,066 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 16:49:05,067 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 16:49:05,070 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 16:49:05,071 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 16:49:05,071 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 16:49:05,074 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 16:49:05,078 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 16:49:05,079 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 16:49:05,080 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 16:49:05,081 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 16:49:05,082 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 16:49:05,086 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 16:49:05,086 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 16:49:05,087 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 16:49:05,088 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 16:49:05,088 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 16:49:05,089 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 16:49:05,089 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 16:49:05,089 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 16:49:05,090 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 16:49:05,091 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 16:49:05,092 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 16:49:05,092 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 16:49:05,092 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 16:49:05,093 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 16:49:05,093 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 16:49:05,094 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 16:49:05,094 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 16:49:05,097 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2022-02-20 16:49:05,123 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 16:49:05,123 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 16:49:05,124 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 16:49:05,124 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 16:49:05,124 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 16:49:05,125 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 16:49:05,125 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 16:49:05,126 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 16:49:05,126 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 16:49:05,126 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 16:49:05,126 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 16:49:05,127 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 16:49:05,127 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 16:49:05,127 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 16:49:05,127 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 16:49:05,127 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 16:49:05,127 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 16:49:05,127 INFO L138 SettingsManager]: * Use bitvectors instead of ints=true [2022-02-20 16:49:05,128 INFO L138 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2022-02-20 16:49:05,128 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 16:49:05,128 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 16:49:05,128 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 16:49:05,128 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 16:49:05,128 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 16:49:05,128 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 16:49:05,129 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 16:49:05,135 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:49:05,135 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 16:49:05,135 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 16:49:05,136 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 16:49:05,136 INFO L138 SettingsManager]: * Trace refinement strategy=WOLF [2022-02-20 16:49:05,136 INFO L138 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2022-02-20 16:49:05,136 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 16:49:05,136 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 16:49:05,136 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 16:49:05,137 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2022-02-20 16:49:05,137 INFO L138 SettingsManager]: * Logic for external solver=AUFBV WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! 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 -> ef935aaf7590747bfbe771bbb249e6b84337edbf0e97024d9de82d0d23d44f30 [2022-02-20 16:49:05,380 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 16:49:05,396 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 16:49:05,398 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 16:49:05,399 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 16:49:05,399 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 16:49:05,400 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/list-properties/list_search-1.i [2022-02-20 16:49:05,445 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2427278c4/21788abeee83406cbbf2a23742f37e49/FLAG5ea0fb402 [2022-02-20 16:49:05,859 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 16:49:05,860 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/list-properties/list_search-1.i [2022-02-20 16:49:05,871 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2427278c4/21788abeee83406cbbf2a23742f37e49/FLAG5ea0fb402 [2022-02-20 16:49:06,246 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2427278c4/21788abeee83406cbbf2a23742f37e49 [2022-02-20 16:49:06,248 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 16:49:06,250 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 16:49:06,251 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 16:49:06,251 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 16:49:06,255 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 16:49:06,256 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:49:06" (1/1) ... [2022-02-20 16:49:06,257 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@10e3b884 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:49:06, skipping insertion in model container [2022-02-20 16:49:06,257 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:49:06" (1/1) ... [2022-02-20 16:49:06,262 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 16:49:06,294 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 16:49:06,448 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-properties/list_search-1.i[813,826] [2022-02-20 16:49:06,534 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:49:06,544 INFO L200 MainTranslator]: Restarting translation with changed settings: SettingsChange [mNewPreferredMemoryModel=HoenickeLindenmann_1ByteResolution] [2022-02-20 16:49:06,549 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 16:49:06,553 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-properties/list_search-1.i[813,826] [2022-02-20 16:49:06,584 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:49:06,599 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 16:49:06,611 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-properties/list_search-1.i[813,826] [2022-02-20 16:49:06,638 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:49:06,664 INFO L208 MainTranslator]: Completed translation [2022-02-20 16:49:06,665 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:49:06 WrapperNode [2022-02-20 16:49:06,665 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 16:49:06,666 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 16:49:06,666 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 16:49:06,666 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 16:49:06,671 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:49:06" (1/1) ... [2022-02-20 16:49:06,688 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:49:06" (1/1) ... [2022-02-20 16:49:06,711 INFO L137 Inliner]: procedures = 128, calls = 22, calls flagged for inlining = 4, calls inlined = 4, statements flattened = 63 [2022-02-20 16:49:06,712 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 16:49:06,712 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 16:49:06,713 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 16:49:06,713 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 16:49:06,718 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:49:06" (1/1) ... [2022-02-20 16:49:06,719 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:49:06" (1/1) ... [2022-02-20 16:49:06,735 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:49:06" (1/1) ... [2022-02-20 16:49:06,735 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:49:06" (1/1) ... [2022-02-20 16:49:06,741 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:49:06" (1/1) ... [2022-02-20 16:49:06,752 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:49:06" (1/1) ... [2022-02-20 16:49:06,754 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:49:06" (1/1) ... [2022-02-20 16:49:06,767 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 16:49:06,768 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 16:49:06,768 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 16:49:06,768 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 16:49:06,769 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:49:06" (1/1) ... [2022-02-20 16:49:06,779 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:49:06,789 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:49:06,799 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:49:06,811 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:49:06,836 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2022-02-20 16:49:06,837 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 16:49:06,837 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 16:49:06,837 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 16:49:06,837 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 16:49:06,837 INFO L130 BoogieDeclarations]: Found specification of procedure insert_list [2022-02-20 16:49:06,837 INFO L138 BoogieDeclarations]: Found implementation of procedure insert_list [2022-02-20 16:49:06,838 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 16:49:06,838 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2022-02-20 16:49:06,838 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1 [2022-02-20 16:49:06,838 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 16:49:06,838 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 16:49:06,947 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 16:49:06,948 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 16:49:07,164 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 16:49:07,169 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 16:49:07,169 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 16:49:07,170 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:49:07 BoogieIcfgContainer [2022-02-20 16:49:07,170 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 16:49:07,171 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 16:49:07,171 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 16:49:07,173 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 16:49:07,173 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 04:49:06" (1/3) ... [2022-02-20 16:49:07,173 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@24027d44 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:49:07, skipping insertion in model container [2022-02-20 16:49:07,174 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:49:06" (2/3) ... [2022-02-20 16:49:07,174 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@24027d44 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:49:07, skipping insertion in model container [2022-02-20 16:49:07,174 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:49:07" (3/3) ... [2022-02-20 16:49:07,179 INFO L111 eAbstractionObserver]: Analyzing ICFG list_search-1.i [2022-02-20 16:49:07,182 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 16:49:07,183 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 16:49:07,217 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 16:49:07,222 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:49:07,223 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 16:49:07,236 INFO L276 IsEmpty]: Start isEmpty. Operand has 28 states, 21 states have (on average 1.380952380952381) internal successors, (29), 22 states have internal predecessors, (29), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 16:49:07,239 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-02-20 16:49:07,239 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:49:07,240 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:49:07,241 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:49:07,244 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:49:07,245 INFO L85 PathProgramCache]: Analyzing trace with hash -547062782, now seen corresponding path program 1 times [2022-02-20 16:49:07,254 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:49:07,254 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [41077490] [2022-02-20 16:49:07,255 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:49:07,256 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:49:07,256 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:49:07,262 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:49:07,282 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Waiting until timeout for monitored process [2022-02-20 16:49:07,444 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:49:07,451 INFO L263 TraceCheckSpWp]: Trace formula consists of 275 conjuncts, 1 conjunts are in the unsatisfiable core [2022-02-20 16:49:07,476 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:49:07,480 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:49:07,609 INFO L290 TraceCheckUtils]: 0: Hoare triple {31#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {31#true} is VALID [2022-02-20 16:49:07,609 INFO L290 TraceCheckUtils]: 1: Hoare triple {31#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1, main_#t~ret8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~ret11#1.base, main_#t~ret11#1.offset, main_#t~mem12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;havoc main_~mylist~0#1.base, main_~mylist~0#1.offset;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {31#true} is VALID [2022-02-20 16:49:07,609 INFO L272 TraceCheckUtils]: 2: Hoare triple {31#true} call main_#t~ret7#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {31#true} is VALID [2022-02-20 16:49:07,609 INFO L290 TraceCheckUtils]: 3: Hoare triple {31#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {31#true} is VALID [2022-02-20 16:49:07,609 INFO L290 TraceCheckUtils]: 4: Hoare triple {31#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {31#true} is VALID [2022-02-20 16:49:07,609 INFO L290 TraceCheckUtils]: 5: Hoare triple {31#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {31#true} is VALID [2022-02-20 16:49:07,610 INFO L290 TraceCheckUtils]: 6: Hoare triple {31#true} assume true; {31#true} is VALID [2022-02-20 16:49:07,610 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {31#true} {31#true} #68#return; {31#true} is VALID [2022-02-20 16:49:07,610 INFO L290 TraceCheckUtils]: 8: Hoare triple {31#true} havoc main_#t~ret7#1; {31#true} is VALID [2022-02-20 16:49:07,610 INFO L272 TraceCheckUtils]: 9: Hoare triple {31#true} call main_#t~ret8#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {31#true} is VALID [2022-02-20 16:49:07,610 INFO L290 TraceCheckUtils]: 10: Hoare triple {31#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {31#true} is VALID [2022-02-20 16:49:07,610 INFO L290 TraceCheckUtils]: 11: Hoare triple {31#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {31#true} is VALID [2022-02-20 16:49:07,610 INFO L290 TraceCheckUtils]: 12: Hoare triple {31#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {31#true} is VALID [2022-02-20 16:49:07,610 INFO L290 TraceCheckUtils]: 13: Hoare triple {31#true} assume true; {31#true} is VALID [2022-02-20 16:49:07,611 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {31#true} {31#true} #70#return; {31#true} is VALID [2022-02-20 16:49:07,611 INFO L290 TraceCheckUtils]: 15: Hoare triple {31#true} havoc main_#t~ret8#1; {31#true} is VALID [2022-02-20 16:49:07,611 INFO L272 TraceCheckUtils]: 16: Hoare triple {31#true} call main_#t~ret9#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {31#true} is VALID [2022-02-20 16:49:07,611 INFO L290 TraceCheckUtils]: 17: Hoare triple {31#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {31#true} is VALID [2022-02-20 16:49:07,611 INFO L290 TraceCheckUtils]: 18: Hoare triple {31#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {31#true} is VALID [2022-02-20 16:49:07,611 INFO L290 TraceCheckUtils]: 19: Hoare triple {31#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {31#true} is VALID [2022-02-20 16:49:07,611 INFO L290 TraceCheckUtils]: 20: Hoare triple {31#true} assume true; {31#true} is VALID [2022-02-20 16:49:07,612 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {31#true} {31#true} #72#return; {31#true} is VALID [2022-02-20 16:49:07,612 INFO L290 TraceCheckUtils]: 22: Hoare triple {31#true} havoc main_#t~ret9#1; {31#true} is VALID [2022-02-20 16:49:07,612 INFO L272 TraceCheckUtils]: 23: Hoare triple {31#true} call main_#t~ret10#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {31#true} is VALID [2022-02-20 16:49:07,612 INFO L290 TraceCheckUtils]: 24: Hoare triple {31#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {31#true} is VALID [2022-02-20 16:49:07,612 INFO L290 TraceCheckUtils]: 25: Hoare triple {31#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {31#true} is VALID [2022-02-20 16:49:07,612 INFO L290 TraceCheckUtils]: 26: Hoare triple {31#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {31#true} is VALID [2022-02-20 16:49:07,612 INFO L290 TraceCheckUtils]: 27: Hoare triple {31#true} assume true; {31#true} is VALID [2022-02-20 16:49:07,612 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {31#true} {31#true} #74#return; {31#true} is VALID [2022-02-20 16:49:07,613 INFO L290 TraceCheckUtils]: 29: Hoare triple {31#true} havoc main_#t~ret10#1;assume { :begin_inline_search_list } true;search_list_#in~l#1.base, search_list_#in~l#1.offset, search_list_#in~k#1 := ~head~0.base, ~head~0.offset, 2bv32;havoc search_list_#res#1.base, search_list_#res#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset, search_list_#t~mem3#1, search_list_#t~short4#1, search_list_~l#1.base, search_list_~l#1.offset, search_list_~k#1;search_list_~l#1.base, search_list_~l#1.offset := search_list_#in~l#1.base, search_list_#in~l#1.offset;search_list_~k#1 := search_list_#in~k#1;search_list_~l#1.base, search_list_~l#1.offset := ~head~0.base, ~head~0.offset; {31#true} is VALID [2022-02-20 16:49:07,613 INFO L290 TraceCheckUtils]: 30: Hoare triple {31#true} assume !true; {32#false} is VALID [2022-02-20 16:49:07,613 INFO L290 TraceCheckUtils]: 31: Hoare triple {32#false} search_list_#res#1.base, search_list_#res#1.offset := search_list_~l#1.base, search_list_~l#1.offset; {32#false} is VALID [2022-02-20 16:49:07,613 INFO L290 TraceCheckUtils]: 32: Hoare triple {32#false} main_#t~ret11#1.base, main_#t~ret11#1.offset := search_list_#res#1.base, search_list_#res#1.offset;assume { :end_inline_search_list } true;main_~temp~0#1.base, main_~temp~0#1.offset := main_#t~ret11#1.base, main_#t~ret11#1.offset;havoc main_#t~ret11#1.base, main_#t~ret11#1.offset;call main_#t~mem12#1 := read~intINTTYPE4(main_~temp~0#1.base, main_~temp~0#1.offset, 4bv32);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 1bv32 == main_#t~mem12#1 then 1bv32 else 0bv32);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {32#false} is VALID [2022-02-20 16:49:07,614 INFO L290 TraceCheckUtils]: 33: Hoare triple {32#false} assume 0bv32 == __VERIFIER_assert_~cond#1; {32#false} is VALID [2022-02-20 16:49:07,614 INFO L290 TraceCheckUtils]: 34: Hoare triple {32#false} assume !false; {32#false} is VALID [2022-02-20 16:49:07,614 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-02-20 16:49:07,614 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:49:07,615 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:49:07,615 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [41077490] [2022-02-20 16:49:07,615 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [41077490] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:49:07,615 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:49:07,616 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 16:49:07,617 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1878746461] [2022-02-20 16:49:07,617 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:49:07,620 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 35 [2022-02-20 16:49:07,621 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:49:07,623 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:49:07,648 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:49:07,648 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 16:49:07,648 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:49:07,661 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 16:49:07,661 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 16:49:07,663 INFO L87 Difference]: Start difference. First operand has 28 states, 21 states have (on average 1.380952380952381) internal successors, (29), 22 states have internal predecessors, (29), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:49:07,725 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:49:07,726 INFO L93 Difference]: Finished difference Result 38 states and 49 transitions. [2022-02-20 16:49:07,726 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 16:49:07,726 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 35 [2022-02-20 16:49:07,727 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:49:07,727 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:49:07,732 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 49 transitions. [2022-02-20 16:49:07,732 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:49:07,736 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 49 transitions. [2022-02-20 16:49:07,736 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 49 transitions. [2022-02-20 16:49:07,795 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:49:07,801 INFO L225 Difference]: With dead ends: 38 [2022-02-20 16:49:07,801 INFO L226 Difference]: Without dead ends: 23 [2022-02-20 16:49:07,803 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 34 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 16:49:07,805 INFO L933 BasicCegarLoop]: 34 mSDtfsCounter, 0 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 0 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 34 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:49:07,817 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 34 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:49:07,827 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 23 states. [2022-02-20 16:49:07,841 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 23 to 23. [2022-02-20 16:49:07,841 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:49:07,843 INFO L82 GeneralOperation]: Start isEquivalent. First operand 23 states. Second operand has 23 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 17 states have internal predecessors, (20), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 16:49:07,844 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand has 23 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 17 states have internal predecessors, (20), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 16:49:07,845 INFO L87 Difference]: Start difference. First operand 23 states. Second operand has 23 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 17 states have internal predecessors, (20), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 16:49:07,858 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:49:07,859 INFO L93 Difference]: Finished difference Result 23 states and 28 transitions. [2022-02-20 16:49:07,859 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 28 transitions. [2022-02-20 16:49:07,859 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:49:07,860 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:49:07,860 INFO L74 IsIncluded]: Start isIncluded. First operand has 23 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 17 states have internal predecessors, (20), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 23 states. [2022-02-20 16:49:07,860 INFO L87 Difference]: Start difference. First operand has 23 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 17 states have internal predecessors, (20), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 23 states. [2022-02-20 16:49:07,862 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:49:07,864 INFO L93 Difference]: Finished difference Result 23 states and 28 transitions. [2022-02-20 16:49:07,864 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 28 transitions. [2022-02-20 16:49:07,865 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:49:07,865 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:49:07,865 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:49:07,865 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:49:07,866 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 17 states have internal predecessors, (20), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 16:49:07,868 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 28 transitions. [2022-02-20 16:49:07,870 INFO L78 Accepts]: Start accepts. Automaton has 23 states and 28 transitions. Word has length 35 [2022-02-20 16:49:07,870 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:49:07,871 INFO L470 AbstractCegarLoop]: Abstraction has 23 states and 28 transitions. [2022-02-20 16:49:07,871 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:49:07,871 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 28 transitions. [2022-02-20 16:49:07,872 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-02-20 16:49:07,872 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:49:07,873 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 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:49:07,882 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Forceful destruction successful, exit code 0 [2022-02-20 16:49:08,082 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:49:08,083 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:49:08,083 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:49:08,084 INFO L85 PathProgramCache]: Analyzing trace with hash -745059685, now seen corresponding path program 1 times [2022-02-20 16:49:08,084 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:49:08,084 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [432347294] [2022-02-20 16:49:08,084 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:49:08,085 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:49:08,085 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:49:08,086 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:49:08,087 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (3)] Waiting until timeout for monitored process [2022-02-20 16:49:08,203 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:49:08,210 INFO L263 TraceCheckSpWp]: Trace formula consists of 279 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 16:49:08,227 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:49:08,228 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:49:08,340 INFO L290 TraceCheckUtils]: 0: Hoare triple {263#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {263#true} is VALID [2022-02-20 16:49:08,340 INFO L290 TraceCheckUtils]: 1: Hoare triple {263#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1, main_#t~ret8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~ret11#1.base, main_#t~ret11#1.offset, main_#t~mem12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;havoc main_~mylist~0#1.base, main_~mylist~0#1.offset;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {263#true} is VALID [2022-02-20 16:49:08,340 INFO L272 TraceCheckUtils]: 2: Hoare triple {263#true} call main_#t~ret7#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {263#true} is VALID [2022-02-20 16:49:08,341 INFO L290 TraceCheckUtils]: 3: Hoare triple {263#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {277#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 16:49:08,342 INFO L290 TraceCheckUtils]: 4: Hoare triple {277#(not (= insert_list_~l.base (_ bv0 32)))} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {277#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 16:49:08,342 INFO L290 TraceCheckUtils]: 5: Hoare triple {277#(not (= insert_list_~l.base (_ bv0 32)))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {284#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 16:49:08,342 INFO L290 TraceCheckUtils]: 6: Hoare triple {284#(not (= (_ bv0 32) ~head~0.base))} assume true; {284#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 16:49:08,343 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {284#(not (= (_ bv0 32) ~head~0.base))} {263#true} #68#return; {284#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 16:49:08,344 INFO L290 TraceCheckUtils]: 8: Hoare triple {284#(not (= (_ bv0 32) ~head~0.base))} havoc main_#t~ret7#1; {284#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 16:49:08,344 INFO L272 TraceCheckUtils]: 9: Hoare triple {284#(not (= (_ bv0 32) ~head~0.base))} call main_#t~ret8#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {297#(= |old(~head~0.base)| ~head~0.base)} is VALID [2022-02-20 16:49:08,345 INFO L290 TraceCheckUtils]: 10: Hoare triple {297#(= |old(~head~0.base)| ~head~0.base)} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {297#(= |old(~head~0.base)| ~head~0.base)} is VALID [2022-02-20 16:49:08,346 INFO L290 TraceCheckUtils]: 11: Hoare triple {297#(= |old(~head~0.base)| ~head~0.base)} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {304#(= |old(~head~0.base)| (_ bv0 32))} is VALID [2022-02-20 16:49:08,346 INFO L290 TraceCheckUtils]: 12: Hoare triple {304#(= |old(~head~0.base)| (_ bv0 32))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {304#(= |old(~head~0.base)| (_ bv0 32))} is VALID [2022-02-20 16:49:08,347 INFO L290 TraceCheckUtils]: 13: Hoare triple {304#(= |old(~head~0.base)| (_ bv0 32))} assume true; {304#(= |old(~head~0.base)| (_ bv0 32))} is VALID [2022-02-20 16:49:08,348 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {304#(= |old(~head~0.base)| (_ bv0 32))} {284#(not (= (_ bv0 32) ~head~0.base))} #70#return; {264#false} is VALID [2022-02-20 16:49:08,348 INFO L290 TraceCheckUtils]: 15: Hoare triple {264#false} havoc main_#t~ret8#1; {264#false} is VALID [2022-02-20 16:49:08,348 INFO L272 TraceCheckUtils]: 16: Hoare triple {264#false} call main_#t~ret9#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {264#false} is VALID [2022-02-20 16:49:08,348 INFO L290 TraceCheckUtils]: 17: Hoare triple {264#false} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {264#false} is VALID [2022-02-20 16:49:08,348 INFO L290 TraceCheckUtils]: 18: Hoare triple {264#false} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {264#false} is VALID [2022-02-20 16:49:08,348 INFO L290 TraceCheckUtils]: 19: Hoare triple {264#false} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {264#false} is VALID [2022-02-20 16:49:08,349 INFO L290 TraceCheckUtils]: 20: Hoare triple {264#false} assume true; {264#false} is VALID [2022-02-20 16:49:08,349 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {264#false} {264#false} #72#return; {264#false} is VALID [2022-02-20 16:49:08,349 INFO L290 TraceCheckUtils]: 22: Hoare triple {264#false} havoc main_#t~ret9#1; {264#false} is VALID [2022-02-20 16:49:08,349 INFO L272 TraceCheckUtils]: 23: Hoare triple {264#false} call main_#t~ret10#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {264#false} is VALID [2022-02-20 16:49:08,349 INFO L290 TraceCheckUtils]: 24: Hoare triple {264#false} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {264#false} is VALID [2022-02-20 16:49:08,349 INFO L290 TraceCheckUtils]: 25: Hoare triple {264#false} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {264#false} is VALID [2022-02-20 16:49:08,350 INFO L290 TraceCheckUtils]: 26: Hoare triple {264#false} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {264#false} is VALID [2022-02-20 16:49:08,350 INFO L290 TraceCheckUtils]: 27: Hoare triple {264#false} assume true; {264#false} is VALID [2022-02-20 16:49:08,350 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {264#false} {264#false} #74#return; {264#false} is VALID [2022-02-20 16:49:08,350 INFO L290 TraceCheckUtils]: 29: Hoare triple {264#false} havoc main_#t~ret10#1;assume { :begin_inline_search_list } true;search_list_#in~l#1.base, search_list_#in~l#1.offset, search_list_#in~k#1 := ~head~0.base, ~head~0.offset, 2bv32;havoc search_list_#res#1.base, search_list_#res#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset, search_list_#t~mem3#1, search_list_#t~short4#1, search_list_~l#1.base, search_list_~l#1.offset, search_list_~k#1;search_list_~l#1.base, search_list_~l#1.offset := search_list_#in~l#1.base, search_list_#in~l#1.offset;search_list_~k#1 := search_list_#in~k#1;search_list_~l#1.base, search_list_~l#1.offset := ~head~0.base, ~head~0.offset; {264#false} is VALID [2022-02-20 16:49:08,350 INFO L290 TraceCheckUtils]: 30: Hoare triple {264#false} search_list_#t~short4#1 := search_list_~l#1.base != 0bv32 || search_list_~l#1.offset != 0bv32; {264#false} is VALID [2022-02-20 16:49:08,351 INFO L290 TraceCheckUtils]: 31: Hoare triple {264#false} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~intINTTYPE4(search_list_~l#1.base, search_list_~l#1.offset, 4bv32);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {264#false} is VALID [2022-02-20 16:49:08,351 INFO L290 TraceCheckUtils]: 32: Hoare triple {264#false} assume !search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1; {264#false} is VALID [2022-02-20 16:49:08,351 INFO L290 TraceCheckUtils]: 33: Hoare triple {264#false} search_list_#res#1.base, search_list_#res#1.offset := search_list_~l#1.base, search_list_~l#1.offset; {264#false} is VALID [2022-02-20 16:49:08,351 INFO L290 TraceCheckUtils]: 34: Hoare triple {264#false} main_#t~ret11#1.base, main_#t~ret11#1.offset := search_list_#res#1.base, search_list_#res#1.offset;assume { :end_inline_search_list } true;main_~temp~0#1.base, main_~temp~0#1.offset := main_#t~ret11#1.base, main_#t~ret11#1.offset;havoc main_#t~ret11#1.base, main_#t~ret11#1.offset;call main_#t~mem12#1 := read~intINTTYPE4(main_~temp~0#1.base, main_~temp~0#1.offset, 4bv32);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 1bv32 == main_#t~mem12#1 then 1bv32 else 0bv32);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {264#false} is VALID [2022-02-20 16:49:08,351 INFO L290 TraceCheckUtils]: 35: Hoare triple {264#false} assume 0bv32 == __VERIFIER_assert_~cond#1; {264#false} is VALID [2022-02-20 16:49:08,357 INFO L290 TraceCheckUtils]: 36: Hoare triple {264#false} assume !false; {264#false} is VALID [2022-02-20 16:49:08,357 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 21 proven. 4 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-20 16:49:08,358 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:49:08,528 INFO L290 TraceCheckUtils]: 36: Hoare triple {264#false} assume !false; {264#false} is VALID [2022-02-20 16:49:08,528 INFO L290 TraceCheckUtils]: 35: Hoare triple {264#false} assume 0bv32 == __VERIFIER_assert_~cond#1; {264#false} is VALID [2022-02-20 16:49:08,528 INFO L290 TraceCheckUtils]: 34: Hoare triple {264#false} main_#t~ret11#1.base, main_#t~ret11#1.offset := search_list_#res#1.base, search_list_#res#1.offset;assume { :end_inline_search_list } true;main_~temp~0#1.base, main_~temp~0#1.offset := main_#t~ret11#1.base, main_#t~ret11#1.offset;havoc main_#t~ret11#1.base, main_#t~ret11#1.offset;call main_#t~mem12#1 := read~intINTTYPE4(main_~temp~0#1.base, main_~temp~0#1.offset, 4bv32);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 1bv32 == main_#t~mem12#1 then 1bv32 else 0bv32);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {264#false} is VALID [2022-02-20 16:49:08,528 INFO L290 TraceCheckUtils]: 33: Hoare triple {264#false} search_list_#res#1.base, search_list_#res#1.offset := search_list_~l#1.base, search_list_~l#1.offset; {264#false} is VALID [2022-02-20 16:49:08,529 INFO L290 TraceCheckUtils]: 32: Hoare triple {264#false} assume !search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1; {264#false} is VALID [2022-02-20 16:49:08,529 INFO L290 TraceCheckUtils]: 31: Hoare triple {264#false} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~intINTTYPE4(search_list_~l#1.base, search_list_~l#1.offset, 4bv32);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {264#false} is VALID [2022-02-20 16:49:08,529 INFO L290 TraceCheckUtils]: 30: Hoare triple {264#false} search_list_#t~short4#1 := search_list_~l#1.base != 0bv32 || search_list_~l#1.offset != 0bv32; {264#false} is VALID [2022-02-20 16:49:08,529 INFO L290 TraceCheckUtils]: 29: Hoare triple {264#false} havoc main_#t~ret10#1;assume { :begin_inline_search_list } true;search_list_#in~l#1.base, search_list_#in~l#1.offset, search_list_#in~k#1 := ~head~0.base, ~head~0.offset, 2bv32;havoc search_list_#res#1.base, search_list_#res#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset, search_list_#t~mem3#1, search_list_#t~short4#1, search_list_~l#1.base, search_list_~l#1.offset, search_list_~k#1;search_list_~l#1.base, search_list_~l#1.offset := search_list_#in~l#1.base, search_list_#in~l#1.offset;search_list_~k#1 := search_list_#in~k#1;search_list_~l#1.base, search_list_~l#1.offset := ~head~0.base, ~head~0.offset; {264#false} is VALID [2022-02-20 16:49:08,529 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {263#true} {264#false} #74#return; {264#false} is VALID [2022-02-20 16:49:08,529 INFO L290 TraceCheckUtils]: 27: Hoare triple {263#true} assume true; {263#true} is VALID [2022-02-20 16:49:08,530 INFO L290 TraceCheckUtils]: 26: Hoare triple {263#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {263#true} is VALID [2022-02-20 16:49:08,530 INFO L290 TraceCheckUtils]: 25: Hoare triple {263#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {263#true} is VALID [2022-02-20 16:49:08,530 INFO L290 TraceCheckUtils]: 24: Hoare triple {263#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {263#true} is VALID [2022-02-20 16:49:08,530 INFO L272 TraceCheckUtils]: 23: Hoare triple {264#false} call main_#t~ret10#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {263#true} is VALID [2022-02-20 16:49:08,530 INFO L290 TraceCheckUtils]: 22: Hoare triple {264#false} havoc main_#t~ret9#1; {264#false} is VALID [2022-02-20 16:49:08,530 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {263#true} {264#false} #72#return; {264#false} is VALID [2022-02-20 16:49:08,531 INFO L290 TraceCheckUtils]: 20: Hoare triple {263#true} assume true; {263#true} is VALID [2022-02-20 16:49:08,531 INFO L290 TraceCheckUtils]: 19: Hoare triple {263#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {263#true} is VALID [2022-02-20 16:49:08,531 INFO L290 TraceCheckUtils]: 18: Hoare triple {263#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {263#true} is VALID [2022-02-20 16:49:08,531 INFO L290 TraceCheckUtils]: 17: Hoare triple {263#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {263#true} is VALID [2022-02-20 16:49:08,531 INFO L272 TraceCheckUtils]: 16: Hoare triple {264#false} call main_#t~ret9#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {263#true} is VALID [2022-02-20 16:49:08,531 INFO L290 TraceCheckUtils]: 15: Hoare triple {264#false} havoc main_#t~ret8#1; {264#false} is VALID [2022-02-20 16:49:08,532 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {304#(= |old(~head~0.base)| (_ bv0 32))} {284#(not (= (_ bv0 32) ~head~0.base))} #70#return; {264#false} is VALID [2022-02-20 16:49:08,533 INFO L290 TraceCheckUtils]: 13: Hoare triple {304#(= |old(~head~0.base)| (_ bv0 32))} assume true; {304#(= |old(~head~0.base)| (_ bv0 32))} is VALID [2022-02-20 16:49:08,533 INFO L290 TraceCheckUtils]: 12: Hoare triple {304#(= |old(~head~0.base)| (_ bv0 32))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {304#(= |old(~head~0.base)| (_ bv0 32))} is VALID [2022-02-20 16:49:08,534 INFO L290 TraceCheckUtils]: 11: Hoare triple {458#(or (not (= (_ bv0 32) ~head~0.base)) (= |old(~head~0.base)| (_ bv0 32)))} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {304#(= |old(~head~0.base)| (_ bv0 32))} is VALID [2022-02-20 16:49:08,534 INFO L290 TraceCheckUtils]: 10: Hoare triple {458#(or (not (= (_ bv0 32) ~head~0.base)) (= |old(~head~0.base)| (_ bv0 32)))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {458#(or (not (= (_ bv0 32) ~head~0.base)) (= |old(~head~0.base)| (_ bv0 32)))} is VALID [2022-02-20 16:49:08,535 INFO L272 TraceCheckUtils]: 9: Hoare triple {284#(not (= (_ bv0 32) ~head~0.base))} call main_#t~ret8#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {458#(or (not (= (_ bv0 32) ~head~0.base)) (= |old(~head~0.base)| (_ bv0 32)))} is VALID [2022-02-20 16:49:08,536 INFO L290 TraceCheckUtils]: 8: Hoare triple {284#(not (= (_ bv0 32) ~head~0.base))} havoc main_#t~ret7#1; {284#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 16:49:08,536 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {284#(not (= (_ bv0 32) ~head~0.base))} {263#true} #68#return; {284#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 16:49:08,537 INFO L290 TraceCheckUtils]: 6: Hoare triple {284#(not (= (_ bv0 32) ~head~0.base))} assume true; {284#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 16:49:08,537 INFO L290 TraceCheckUtils]: 5: Hoare triple {277#(not (= insert_list_~l.base (_ bv0 32)))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {284#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 16:49:08,538 INFO L290 TraceCheckUtils]: 4: Hoare triple {277#(not (= insert_list_~l.base (_ bv0 32)))} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {277#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 16:49:08,538 INFO L290 TraceCheckUtils]: 3: Hoare triple {263#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {277#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 16:49:08,538 INFO L272 TraceCheckUtils]: 2: Hoare triple {263#true} call main_#t~ret7#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {263#true} is VALID [2022-02-20 16:49:08,539 INFO L290 TraceCheckUtils]: 1: Hoare triple {263#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1, main_#t~ret8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~ret11#1.base, main_#t~ret11#1.offset, main_#t~mem12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;havoc main_~mylist~0#1.base, main_~mylist~0#1.offset;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {263#true} is VALID [2022-02-20 16:49:08,539 INFO L290 TraceCheckUtils]: 0: Hoare triple {263#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {263#true} is VALID [2022-02-20 16:49:08,539 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 1 proven. 22 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 16:49:08,539 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:49:08,539 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [432347294] [2022-02-20 16:49:08,539 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [432347294] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:49:08,540 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 16:49:08,540 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-02-20 16:49:08,540 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2003476558] [2022-02-20 16:49:08,540 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 16:49:08,541 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) Word has length 37 [2022-02-20 16:49:08,542 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:49:08,542 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 16:49:08,586 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:49:08,586 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 16:49:08,586 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:49:08,587 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 16:49:08,587 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=28, Unknown=0, NotChecked=0, Total=42 [2022-02-20 16:49:08,587 INFO L87 Difference]: Start difference. First operand 23 states and 28 transitions. Second operand has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 16:49:08,910 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:49:08,911 INFO L93 Difference]: Finished difference Result 47 states and 59 transitions. [2022-02-20 16:49:08,911 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 16:49:08,911 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) Word has length 37 [2022-02-20 16:49:08,911 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:49:08,911 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 16:49:08,914 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 59 transitions. [2022-02-20 16:49:08,914 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 16:49:08,916 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 59 transitions. [2022-02-20 16:49:08,916 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 59 transitions. [2022-02-20 16:49:08,966 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:49:08,967 INFO L225 Difference]: With dead ends: 47 [2022-02-20 16:49:08,967 INFO L226 Difference]: Without dead ends: 29 [2022-02-20 16:49:08,967 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 80 GetRequests, 69 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=52, Invalid=104, Unknown=0, NotChecked=0, Total=156 [2022-02-20 16:49:08,968 INFO L933 BasicCegarLoop]: 25 mSDtfsCounter, 37 mSDsluCounter, 58 mSDsCounter, 0 mSdLazyCounter, 27 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 83 SdHoareTripleChecker+Invalid, 43 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 27 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 16:49:08,968 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [37 Valid, 83 Invalid, 43 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 27 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 16:49:08,969 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-02-20 16:49:08,971 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 28. [2022-02-20 16:49:08,971 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:49:08,971 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand has 28 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 21 states have internal predecessors, (24), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:49:08,972 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand has 28 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 21 states have internal predecessors, (24), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:49:08,972 INFO L87 Difference]: Start difference. First operand 29 states. Second operand has 28 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 21 states have internal predecessors, (24), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:49:08,973 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:49:08,973 INFO L93 Difference]: Finished difference Result 29 states and 34 transitions. [2022-02-20 16:49:08,974 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 34 transitions. [2022-02-20 16:49:08,974 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:49:08,974 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:49:08,974 INFO L74 IsIncluded]: Start isIncluded. First operand has 28 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 21 states have internal predecessors, (24), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 29 states. [2022-02-20 16:49:08,974 INFO L87 Difference]: Start difference. First operand has 28 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 21 states have internal predecessors, (24), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 29 states. [2022-02-20 16:49:08,978 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:49:08,978 INFO L93 Difference]: Finished difference Result 29 states and 34 transitions. [2022-02-20 16:49:08,978 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 34 transitions. [2022-02-20 16:49:08,979 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:49:08,979 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:49:08,979 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:49:08,979 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:49:08,979 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 21 states have internal predecessors, (24), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:49:08,992 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 33 transitions. [2022-02-20 16:49:08,992 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 33 transitions. Word has length 37 [2022-02-20 16:49:08,992 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:49:08,992 INFO L470 AbstractCegarLoop]: Abstraction has 28 states and 33 transitions. [2022-02-20 16:49:08,993 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 16:49:08,993 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 33 transitions. [2022-02-20 16:49:08,993 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-02-20 16:49:08,993 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:49:08,993 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 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:49:09,008 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (3)] Forceful destruction successful, exit code 0 [2022-02-20 16:49:09,194 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:49:09,194 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:49:09,194 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:49:09,195 INFO L85 PathProgramCache]: Analyzing trace with hash -2113798375, now seen corresponding path program 1 times [2022-02-20 16:49:09,195 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:49:09,195 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [437063838] [2022-02-20 16:49:09,195 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:49:09,195 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:49:09,195 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:49:09,210 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:49:09,211 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (4)] Waiting until timeout for monitored process [2022-02-20 16:49:09,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:49:09,463 INFO L263 TraceCheckSpWp]: Trace formula consists of 324 conjuncts, 14 conjunts are in the unsatisfiable core [2022-02-20 16:49:09,477 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:49:09,479 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:49:09,657 INFO L356 Elim1Store]: treesize reduction 288, result has 11.1 percent of original size [2022-02-20 16:49:09,658 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 4 case distinctions, treesize of input 32 treesize of output 45 [2022-02-20 16:49:09,773 INFO L356 Elim1Store]: treesize reduction 66, result has 1.5 percent of original size [2022-02-20 16:49:09,775 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 6 case distinctions, treesize of input 77 treesize of output 29 [2022-02-20 16:49:09,793 INFO L290 TraceCheckUtils]: 0: Hoare triple {656#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {656#true} is VALID [2022-02-20 16:49:09,794 INFO L290 TraceCheckUtils]: 1: Hoare triple {656#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1, main_#t~ret8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~ret11#1.base, main_#t~ret11#1.offset, main_#t~mem12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;havoc main_~mylist~0#1.base, main_~mylist~0#1.offset;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {656#true} is VALID [2022-02-20 16:49:09,794 INFO L272 TraceCheckUtils]: 2: Hoare triple {656#true} call main_#t~ret7#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {656#true} is VALID [2022-02-20 16:49:09,795 INFO L290 TraceCheckUtils]: 3: Hoare triple {656#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {656#true} is VALID [2022-02-20 16:49:09,796 INFO L290 TraceCheckUtils]: 4: Hoare triple {656#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {656#true} is VALID [2022-02-20 16:49:09,796 INFO L290 TraceCheckUtils]: 5: Hoare triple {656#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {656#true} is VALID [2022-02-20 16:49:09,801 INFO L290 TraceCheckUtils]: 6: Hoare triple {656#true} assume true; {656#true} is VALID [2022-02-20 16:49:09,802 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {656#true} {656#true} #68#return; {656#true} is VALID [2022-02-20 16:49:09,802 INFO L290 TraceCheckUtils]: 8: Hoare triple {656#true} havoc main_#t~ret7#1; {656#true} is VALID [2022-02-20 16:49:09,803 INFO L272 TraceCheckUtils]: 9: Hoare triple {656#true} call main_#t~ret8#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {656#true} is VALID [2022-02-20 16:49:09,803 INFO L290 TraceCheckUtils]: 10: Hoare triple {656#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {656#true} is VALID [2022-02-20 16:49:09,803 INFO L290 TraceCheckUtils]: 11: Hoare triple {656#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {656#true} is VALID [2022-02-20 16:49:09,803 INFO L290 TraceCheckUtils]: 12: Hoare triple {656#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {656#true} is VALID [2022-02-20 16:49:09,803 INFO L290 TraceCheckUtils]: 13: Hoare triple {656#true} assume true; {656#true} is VALID [2022-02-20 16:49:09,805 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {656#true} {656#true} #70#return; {656#true} is VALID [2022-02-20 16:49:09,805 INFO L290 TraceCheckUtils]: 15: Hoare triple {656#true} havoc main_#t~ret8#1; {656#true} is VALID [2022-02-20 16:49:09,805 INFO L272 TraceCheckUtils]: 16: Hoare triple {656#true} call main_#t~ret9#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {656#true} is VALID [2022-02-20 16:49:09,806 INFO L290 TraceCheckUtils]: 17: Hoare triple {656#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {656#true} is VALID [2022-02-20 16:49:09,806 INFO L290 TraceCheckUtils]: 18: Hoare triple {656#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {656#true} is VALID [2022-02-20 16:49:09,806 INFO L290 TraceCheckUtils]: 19: Hoare triple {656#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {656#true} is VALID [2022-02-20 16:49:09,806 INFO L290 TraceCheckUtils]: 20: Hoare triple {656#true} assume true; {656#true} is VALID [2022-02-20 16:49:09,806 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {656#true} {656#true} #72#return; {656#true} is VALID [2022-02-20 16:49:09,806 INFO L290 TraceCheckUtils]: 22: Hoare triple {656#true} havoc main_#t~ret9#1; {656#true} is VALID [2022-02-20 16:49:09,806 INFO L272 TraceCheckUtils]: 23: Hoare triple {656#true} call main_#t~ret10#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {656#true} is VALID [2022-02-20 16:49:09,807 INFO L290 TraceCheckUtils]: 24: Hoare triple {656#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {733#(= |insert_list_#in~k| insert_list_~k)} is VALID [2022-02-20 16:49:09,810 INFO L290 TraceCheckUtils]: 25: Hoare triple {733#(= |insert_list_#in~k| insert_list_~k)} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {737#(= (select (select |#memory_int| insert_list_~l.base) insert_list_~l.offset) ((_ extract 7 0) |insert_list_#in~k|))} is VALID [2022-02-20 16:49:09,810 INFO L290 TraceCheckUtils]: 26: Hoare triple {737#(= (select (select |#memory_int| insert_list_~l.base) insert_list_~l.offset) ((_ extract 7 0) |insert_list_#in~k|))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {741#(= (select (select |#memory_int| ~head~0.base) ~head~0.offset) ((_ extract 7 0) |insert_list_#in~k|))} is VALID [2022-02-20 16:49:09,810 INFO L290 TraceCheckUtils]: 27: Hoare triple {741#(= (select (select |#memory_int| ~head~0.base) ~head~0.offset) ((_ extract 7 0) |insert_list_#in~k|))} assume true; {741#(= (select (select |#memory_int| ~head~0.base) ~head~0.offset) ((_ extract 7 0) |insert_list_#in~k|))} is VALID [2022-02-20 16:49:09,811 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {741#(= (select (select |#memory_int| ~head~0.base) ~head~0.offset) ((_ extract 7 0) |insert_list_#in~k|))} {656#true} #74#return; {748#(= (select (select |#memory_int| ~head~0.base) ~head~0.offset) (_ bv3 8))} is VALID [2022-02-20 16:49:09,812 INFO L290 TraceCheckUtils]: 29: Hoare triple {748#(= (select (select |#memory_int| ~head~0.base) ~head~0.offset) (_ bv3 8))} havoc main_#t~ret10#1;assume { :begin_inline_search_list } true;search_list_#in~l#1.base, search_list_#in~l#1.offset, search_list_#in~k#1 := ~head~0.base, ~head~0.offset, 2bv32;havoc search_list_#res#1.base, search_list_#res#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset, search_list_#t~mem3#1, search_list_#t~short4#1, search_list_~l#1.base, search_list_~l#1.offset, search_list_~k#1;search_list_~l#1.base, search_list_~l#1.offset := search_list_#in~l#1.base, search_list_#in~l#1.offset;search_list_~k#1 := search_list_#in~k#1;search_list_~l#1.base, search_list_~l#1.offset := ~head~0.base, ~head~0.offset; {752#(and (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) (_ bv3 8)))} is VALID [2022-02-20 16:49:09,812 INFO L290 TraceCheckUtils]: 30: Hoare triple {752#(and (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) (_ bv3 8)))} search_list_#t~short4#1 := search_list_~l#1.base != 0bv32 || search_list_~l#1.offset != 0bv32; {752#(and (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) (_ bv3 8)))} is VALID [2022-02-20 16:49:09,812 INFO L290 TraceCheckUtils]: 31: Hoare triple {752#(and (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) (_ bv3 8)))} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~intINTTYPE4(search_list_~l#1.base, search_list_~l#1.offset, 4bv32);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {759#|ULTIMATE.start_search_list_#t~short4#1|} is VALID [2022-02-20 16:49:09,813 INFO L290 TraceCheckUtils]: 32: Hoare triple {759#|ULTIMATE.start_search_list_#t~short4#1|} assume !search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1; {657#false} is VALID [2022-02-20 16:49:09,813 INFO L290 TraceCheckUtils]: 33: Hoare triple {657#false} search_list_#res#1.base, search_list_#res#1.offset := search_list_~l#1.base, search_list_~l#1.offset; {657#false} is VALID [2022-02-20 16:49:09,814 INFO L290 TraceCheckUtils]: 34: Hoare triple {657#false} main_#t~ret11#1.base, main_#t~ret11#1.offset := search_list_#res#1.base, search_list_#res#1.offset;assume { :end_inline_search_list } true;main_~temp~0#1.base, main_~temp~0#1.offset := main_#t~ret11#1.base, main_#t~ret11#1.offset;havoc main_#t~ret11#1.base, main_#t~ret11#1.offset;call main_#t~mem12#1 := read~intINTTYPE4(main_~temp~0#1.base, main_~temp~0#1.offset, 4bv32);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 1bv32 == main_#t~mem12#1 then 1bv32 else 0bv32);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {657#false} is VALID [2022-02-20 16:49:09,814 INFO L290 TraceCheckUtils]: 35: Hoare triple {657#false} assume 0bv32 == __VERIFIER_assert_~cond#1; {657#false} is VALID [2022-02-20 16:49:09,814 INFO L290 TraceCheckUtils]: 36: Hoare triple {657#false} assume !false; {657#false} is VALID [2022-02-20 16:49:09,814 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-02-20 16:49:09,815 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:49:09,815 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:49:09,815 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [437063838] [2022-02-20 16:49:09,817 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [437063838] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:49:09,817 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:49:09,818 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-02-20 16:49:09,818 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [486225236] [2022-02-20 16:49:09,818 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:49:09,818 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 37 [2022-02-20 16:49:09,819 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:49:09,820 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:49:09,846 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:49:09,848 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 16:49:09,848 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:49:09,848 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 16:49:09,849 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2022-02-20 16:49:09,849 INFO L87 Difference]: Start difference. First operand 28 states and 33 transitions. Second operand has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:49:10,571 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:49:10,572 INFO L93 Difference]: Finished difference Result 42 states and 48 transitions. [2022-02-20 16:49:10,572 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 16:49:10,572 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 37 [2022-02-20 16:49:10,573 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:49:10,574 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:49:10,577 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 43 transitions. [2022-02-20 16:49:10,577 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:49:10,580 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 43 transitions. [2022-02-20 16:49:10,580 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 43 transitions. [2022-02-20 16:49:10,621 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:49:10,626 INFO L225 Difference]: With dead ends: 42 [2022-02-20 16:49:10,626 INFO L226 Difference]: Without dead ends: 37 [2022-02-20 16:49:10,627 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=33, Invalid=99, Unknown=0, NotChecked=0, Total=132 [2022-02-20 16:49:10,628 INFO L933 BasicCegarLoop]: 15 mSDtfsCounter, 29 mSDsluCounter, 60 mSDsCounter, 0 mSdLazyCounter, 97 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 75 SdHoareTripleChecker+Invalid, 103 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 97 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 16:49:10,629 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 75 Invalid, 103 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 97 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 16:49:10,630 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-02-20 16:49:10,634 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 31. [2022-02-20 16:49:10,634 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:49:10,636 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand has 31 states, 24 states have (on average 1.1666666666666667) internal successors, (28), 24 states have internal predecessors, (28), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:49:10,636 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand has 31 states, 24 states have (on average 1.1666666666666667) internal successors, (28), 24 states have internal predecessors, (28), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:49:10,636 INFO L87 Difference]: Start difference. First operand 37 states. Second operand has 31 states, 24 states have (on average 1.1666666666666667) internal successors, (28), 24 states have internal predecessors, (28), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:49:10,641 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:49:10,641 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-02-20 16:49:10,641 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-02-20 16:49:10,642 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:49:10,642 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:49:10,643 INFO L74 IsIncluded]: Start isIncluded. First operand has 31 states, 24 states have (on average 1.1666666666666667) internal successors, (28), 24 states have internal predecessors, (28), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 37 states. [2022-02-20 16:49:10,643 INFO L87 Difference]: Start difference. First operand has 31 states, 24 states have (on average 1.1666666666666667) internal successors, (28), 24 states have internal predecessors, (28), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 37 states. [2022-02-20 16:49:10,648 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:49:10,648 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-02-20 16:49:10,648 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-02-20 16:49:10,649 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:49:10,649 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:49:10,649 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:49:10,649 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:49:10,649 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 24 states have (on average 1.1666666666666667) internal successors, (28), 24 states have internal predecessors, (28), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:49:10,650 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 37 transitions. [2022-02-20 16:49:10,650 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 37 transitions. Word has length 37 [2022-02-20 16:49:10,650 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:49:10,650 INFO L470 AbstractCegarLoop]: Abstraction has 31 states and 37 transitions. [2022-02-20 16:49:10,651 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:49:10,651 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 37 transitions. [2022-02-20 16:49:10,655 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-02-20 16:49:10,655 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:49:10,655 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 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:49:10,681 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (4)] Forceful destruction successful, exit code 0 [2022-02-20 16:49:10,867 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:49:10,868 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:49:10,869 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:49:10,869 INFO L85 PathProgramCache]: Analyzing trace with hash -2056540073, now seen corresponding path program 1 times [2022-02-20 16:49:10,870 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:49:10,870 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [300187670] [2022-02-20 16:49:10,870 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:49:10,872 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:49:10,872 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:49:10,874 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:49:10,874 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (5)] Waiting until timeout for monitored process [2022-02-20 16:49:11,030 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:49:11,041 INFO L263 TraceCheckSpWp]: Trace formula consists of 322 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 16:49:11,058 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:49:11,059 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:49:11,152 INFO L290 TraceCheckUtils]: 0: Hoare triple {949#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {949#true} is VALID [2022-02-20 16:49:11,153 INFO L290 TraceCheckUtils]: 1: Hoare triple {949#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1, main_#t~ret8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~ret11#1.base, main_#t~ret11#1.offset, main_#t~mem12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;havoc main_~mylist~0#1.base, main_~mylist~0#1.offset;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {949#true} is VALID [2022-02-20 16:49:11,153 INFO L272 TraceCheckUtils]: 2: Hoare triple {949#true} call main_#t~ret7#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {949#true} is VALID [2022-02-20 16:49:11,153 INFO L290 TraceCheckUtils]: 3: Hoare triple {949#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {949#true} is VALID [2022-02-20 16:49:11,153 INFO L290 TraceCheckUtils]: 4: Hoare triple {949#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {949#true} is VALID [2022-02-20 16:49:11,153 INFO L290 TraceCheckUtils]: 5: Hoare triple {949#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {949#true} is VALID [2022-02-20 16:49:11,153 INFO L290 TraceCheckUtils]: 6: Hoare triple {949#true} assume true; {949#true} is VALID [2022-02-20 16:49:11,153 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {949#true} {949#true} #68#return; {949#true} is VALID [2022-02-20 16:49:11,153 INFO L290 TraceCheckUtils]: 8: Hoare triple {949#true} havoc main_#t~ret7#1; {949#true} is VALID [2022-02-20 16:49:11,153 INFO L272 TraceCheckUtils]: 9: Hoare triple {949#true} call main_#t~ret8#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {949#true} is VALID [2022-02-20 16:49:11,153 INFO L290 TraceCheckUtils]: 10: Hoare triple {949#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {949#true} is VALID [2022-02-20 16:49:11,153 INFO L290 TraceCheckUtils]: 11: Hoare triple {949#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {949#true} is VALID [2022-02-20 16:49:11,153 INFO L290 TraceCheckUtils]: 12: Hoare triple {949#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {949#true} is VALID [2022-02-20 16:49:11,154 INFO L290 TraceCheckUtils]: 13: Hoare triple {949#true} assume true; {949#true} is VALID [2022-02-20 16:49:11,154 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {949#true} {949#true} #70#return; {949#true} is VALID [2022-02-20 16:49:11,154 INFO L290 TraceCheckUtils]: 15: Hoare triple {949#true} havoc main_#t~ret8#1; {949#true} is VALID [2022-02-20 16:49:11,154 INFO L272 TraceCheckUtils]: 16: Hoare triple {949#true} call main_#t~ret9#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {949#true} is VALID [2022-02-20 16:49:11,154 INFO L290 TraceCheckUtils]: 17: Hoare triple {949#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {949#true} is VALID [2022-02-20 16:49:11,154 INFO L290 TraceCheckUtils]: 18: Hoare triple {949#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {949#true} is VALID [2022-02-20 16:49:11,154 INFO L290 TraceCheckUtils]: 19: Hoare triple {949#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {949#true} is VALID [2022-02-20 16:49:11,154 INFO L290 TraceCheckUtils]: 20: Hoare triple {949#true} assume true; {949#true} is VALID [2022-02-20 16:49:11,154 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {949#true} {949#true} #72#return; {949#true} is VALID [2022-02-20 16:49:11,154 INFO L290 TraceCheckUtils]: 22: Hoare triple {949#true} havoc main_#t~ret9#1; {949#true} is VALID [2022-02-20 16:49:11,154 INFO L272 TraceCheckUtils]: 23: Hoare triple {949#true} call main_#t~ret10#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {949#true} is VALID [2022-02-20 16:49:11,155 INFO L290 TraceCheckUtils]: 24: Hoare triple {949#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {1026#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 16:49:11,155 INFO L290 TraceCheckUtils]: 25: Hoare triple {1026#(not (= insert_list_~l.base (_ bv0 32)))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {1026#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 16:49:11,156 INFO L290 TraceCheckUtils]: 26: Hoare triple {1026#(not (= insert_list_~l.base (_ bv0 32)))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1033#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 16:49:11,156 INFO L290 TraceCheckUtils]: 27: Hoare triple {1033#(not (= (_ bv0 32) ~head~0.base))} assume true; {1033#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 16:49:11,157 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1033#(not (= (_ bv0 32) ~head~0.base))} {949#true} #74#return; {1033#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 16:49:11,157 INFO L290 TraceCheckUtils]: 29: Hoare triple {1033#(not (= (_ bv0 32) ~head~0.base))} havoc main_#t~ret10#1;assume { :begin_inline_search_list } true;search_list_#in~l#1.base, search_list_#in~l#1.offset, search_list_#in~k#1 := ~head~0.base, ~head~0.offset, 2bv32;havoc search_list_#res#1.base, search_list_#res#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset, search_list_#t~mem3#1, search_list_#t~short4#1, search_list_~l#1.base, search_list_~l#1.offset, search_list_~k#1;search_list_~l#1.base, search_list_~l#1.offset := search_list_#in~l#1.base, search_list_#in~l#1.offset;search_list_~k#1 := search_list_#in~k#1;search_list_~l#1.base, search_list_~l#1.offset := ~head~0.base, ~head~0.offset; {1043#(not (= |ULTIMATE.start_search_list_~l#1.base| (_ bv0 32)))} is VALID [2022-02-20 16:49:11,157 INFO L290 TraceCheckUtils]: 30: Hoare triple {1043#(not (= |ULTIMATE.start_search_list_~l#1.base| (_ bv0 32)))} search_list_#t~short4#1 := search_list_~l#1.base != 0bv32 || search_list_~l#1.offset != 0bv32; {1047#|ULTIMATE.start_search_list_#t~short4#1|} is VALID [2022-02-20 16:49:11,158 INFO L290 TraceCheckUtils]: 31: Hoare triple {1047#|ULTIMATE.start_search_list_#t~short4#1|} assume !search_list_#t~short4#1; {1047#|ULTIMATE.start_search_list_#t~short4#1|} is VALID [2022-02-20 16:49:11,159 INFO L290 TraceCheckUtils]: 32: Hoare triple {1047#|ULTIMATE.start_search_list_#t~short4#1|} assume !search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1; {950#false} is VALID [2022-02-20 16:49:11,159 INFO L290 TraceCheckUtils]: 33: Hoare triple {950#false} search_list_#res#1.base, search_list_#res#1.offset := search_list_~l#1.base, search_list_~l#1.offset; {950#false} is VALID [2022-02-20 16:49:11,159 INFO L290 TraceCheckUtils]: 34: Hoare triple {950#false} main_#t~ret11#1.base, main_#t~ret11#1.offset := search_list_#res#1.base, search_list_#res#1.offset;assume { :end_inline_search_list } true;main_~temp~0#1.base, main_~temp~0#1.offset := main_#t~ret11#1.base, main_#t~ret11#1.offset;havoc main_#t~ret11#1.base, main_#t~ret11#1.offset;call main_#t~mem12#1 := read~intINTTYPE4(main_~temp~0#1.base, main_~temp~0#1.offset, 4bv32);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 1bv32 == main_#t~mem12#1 then 1bv32 else 0bv32);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {950#false} is VALID [2022-02-20 16:49:11,159 INFO L290 TraceCheckUtils]: 35: Hoare triple {950#false} assume 0bv32 == __VERIFIER_assert_~cond#1; {950#false} is VALID [2022-02-20 16:49:11,159 INFO L290 TraceCheckUtils]: 36: Hoare triple {950#false} assume !false; {950#false} is VALID [2022-02-20 16:49:11,159 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-02-20 16:49:11,159 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:49:11,159 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:49:11,159 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [300187670] [2022-02-20 16:49:11,160 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [300187670] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:49:11,160 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:49:11,160 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 16:49:11,160 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [117088968] [2022-02-20 16:49:11,160 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:49:11,160 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 6 states have internal predecessors, (22), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 37 [2022-02-20 16:49:11,160 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:49:11,160 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 6 states have internal predecessors, (22), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:49:11,194 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:49:11,194 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 16:49:11,195 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:49:11,195 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 16:49:11,195 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-02-20 16:49:11,195 INFO L87 Difference]: Start difference. First operand 31 states and 37 transitions. Second operand has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 6 states have internal predecessors, (22), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:49:11,560 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:49:11,560 INFO L93 Difference]: Finished difference Result 40 states and 47 transitions. [2022-02-20 16:49:11,560 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 16:49:11,560 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 6 states have internal predecessors, (22), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 37 [2022-02-20 16:49:11,560 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:49:11,560 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 6 states have internal predecessors, (22), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:49:11,561 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 44 transitions. [2022-02-20 16:49:11,561 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 6 states have internal predecessors, (22), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:49:11,562 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 44 transitions. [2022-02-20 16:49:11,562 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 44 transitions. [2022-02-20 16:49:11,618 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:49:11,618 INFO L225 Difference]: With dead ends: 40 [2022-02-20 16:49:11,618 INFO L226 Difference]: Without dead ends: 32 [2022-02-20 16:49:11,619 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 32 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2022-02-20 16:49:11,619 INFO L933 BasicCegarLoop]: 22 mSDtfsCounter, 23 mSDsluCounter, 63 mSDsCounter, 0 mSdLazyCounter, 36 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 85 SdHoareTripleChecker+Invalid, 43 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 36 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 16:49:11,619 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 85 Invalid, 43 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 36 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 16:49:11,620 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-02-20 16:49:11,621 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 31. [2022-02-20 16:49:11,622 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:49:11,622 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 31 states, 24 states have (on average 1.125) internal successors, (27), 24 states have internal predecessors, (27), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:49:11,622 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 31 states, 24 states have (on average 1.125) internal successors, (27), 24 states have internal predecessors, (27), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:49:11,622 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 31 states, 24 states have (on average 1.125) internal successors, (27), 24 states have internal predecessors, (27), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:49:11,623 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:49:11,623 INFO L93 Difference]: Finished difference Result 32 states and 37 transitions. [2022-02-20 16:49:11,623 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 37 transitions. [2022-02-20 16:49:11,623 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:49:11,623 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:49:11,623 INFO L74 IsIncluded]: Start isIncluded. First operand has 31 states, 24 states have (on average 1.125) internal successors, (27), 24 states have internal predecessors, (27), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 32 states. [2022-02-20 16:49:11,625 INFO L87 Difference]: Start difference. First operand has 31 states, 24 states have (on average 1.125) internal successors, (27), 24 states have internal predecessors, (27), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 32 states. [2022-02-20 16:49:11,628 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:49:11,628 INFO L93 Difference]: Finished difference Result 32 states and 37 transitions. [2022-02-20 16:49:11,628 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 37 transitions. [2022-02-20 16:49:11,629 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:49:11,629 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:49:11,629 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:49:11,629 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:49:11,630 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 24 states have (on average 1.125) internal successors, (27), 24 states have internal predecessors, (27), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:49:11,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 36 transitions. [2022-02-20 16:49:11,632 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 36 transitions. Word has length 37 [2022-02-20 16:49:11,632 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:49:11,632 INFO L470 AbstractCegarLoop]: Abstraction has 31 states and 36 transitions. [2022-02-20 16:49:11,632 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 6 states have internal predecessors, (22), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:49:11,632 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 36 transitions. [2022-02-20 16:49:11,633 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-02-20 16:49:11,633 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:49:11,633 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 2, 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:49:11,659 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (5)] Forceful destruction successful, exit code 0 [2022-02-20 16:49:11,843 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:49:11,844 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:49:11,844 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:49:11,844 INFO L85 PathProgramCache]: Analyzing trace with hash -1005030197, now seen corresponding path program 1 times [2022-02-20 16:49:11,845 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:49:11,845 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [2104942780] [2022-02-20 16:49:11,845 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:49:11,845 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:49:11,845 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:49:11,846 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:49:11,847 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (6)] Waiting until timeout for monitored process [2022-02-20 16:49:12,122 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:49:12,137 INFO L263 TraceCheckSpWp]: Trace formula consists of 331 conjuncts, 39 conjunts are in the unsatisfiable core [2022-02-20 16:49:12,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:49:12,159 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:49:12,199 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:49:12,304 INFO L356 Elim1Store]: treesize reduction 288, result has 11.1 percent of original size [2022-02-20 16:49:12,304 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 4 case distinctions, treesize of input 32 treesize of output 45 [2022-02-20 16:49:12,504 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:49:12,508 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:49:12,701 INFO L356 Elim1Store]: treesize reduction 23, result has 47.7 percent of original size [2022-02-20 16:49:12,701 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 1 new quantified variables, introduced 1 case distinctions, treesize of input 26 treesize of output 38 [2022-02-20 16:49:12,707 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 11 treesize of output 3 [2022-02-20 16:49:12,730 INFO L356 Elim1Store]: treesize reduction 4, result has 71.4 percent of original size [2022-02-20 16:49:12,731 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 18 treesize of output 18 [2022-02-20 16:49:12,902 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 31 treesize of output 19 [2022-02-20 16:49:12,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, 1 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:49:13,017 INFO L356 Elim1Store]: treesize reduction 66, result has 1.5 percent of original size [2022-02-20 16:49:13,017 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 6 case distinctions, treesize of input 77 treesize of output 29 [2022-02-20 16:49:13,050 INFO L290 TraceCheckUtils]: 0: Hoare triple {1226#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {1226#true} is VALID [2022-02-20 16:49:13,051 INFO L290 TraceCheckUtils]: 1: Hoare triple {1226#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1, main_#t~ret8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~ret11#1.base, main_#t~ret11#1.offset, main_#t~mem12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;havoc main_~mylist~0#1.base, main_~mylist~0#1.offset;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {1226#true} is VALID [2022-02-20 16:49:13,051 INFO L272 TraceCheckUtils]: 2: Hoare triple {1226#true} call main_#t~ret7#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {1226#true} is VALID [2022-02-20 16:49:13,051 INFO L290 TraceCheckUtils]: 3: Hoare triple {1226#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {1226#true} is VALID [2022-02-20 16:49:13,051 INFO L290 TraceCheckUtils]: 4: Hoare triple {1226#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {1226#true} is VALID [2022-02-20 16:49:13,051 INFO L290 TraceCheckUtils]: 5: Hoare triple {1226#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1226#true} is VALID [2022-02-20 16:49:13,051 INFO L290 TraceCheckUtils]: 6: Hoare triple {1226#true} assume true; {1226#true} is VALID [2022-02-20 16:49:13,051 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1226#true} {1226#true} #68#return; {1226#true} is VALID [2022-02-20 16:49:13,051 INFO L290 TraceCheckUtils]: 8: Hoare triple {1226#true} havoc main_#t~ret7#1; {1226#true} is VALID [2022-02-20 16:49:13,051 INFO L272 TraceCheckUtils]: 9: Hoare triple {1226#true} call main_#t~ret8#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {1226#true} is VALID [2022-02-20 16:49:13,051 INFO L290 TraceCheckUtils]: 10: Hoare triple {1226#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {1226#true} is VALID [2022-02-20 16:49:13,051 INFO L290 TraceCheckUtils]: 11: Hoare triple {1226#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {1226#true} is VALID [2022-02-20 16:49:13,051 INFO L290 TraceCheckUtils]: 12: Hoare triple {1226#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1226#true} is VALID [2022-02-20 16:49:13,051 INFO L290 TraceCheckUtils]: 13: Hoare triple {1226#true} assume true; {1226#true} is VALID [2022-02-20 16:49:13,052 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {1226#true} {1226#true} #70#return; {1226#true} is VALID [2022-02-20 16:49:13,052 INFO L290 TraceCheckUtils]: 15: Hoare triple {1226#true} havoc main_#t~ret8#1; {1226#true} is VALID [2022-02-20 16:49:13,052 INFO L272 TraceCheckUtils]: 16: Hoare triple {1226#true} call main_#t~ret9#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {1226#true} is VALID [2022-02-20 16:49:13,053 INFO L290 TraceCheckUtils]: 17: Hoare triple {1226#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {1282#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= |insert_list_#in~k| insert_list_~k))} is VALID [2022-02-20 16:49:13,055 INFO L290 TraceCheckUtils]: 18: Hoare triple {1282#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= |insert_list_#in~k| insert_list_~k))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {1286#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select (select |#memory_int| insert_list_~l.base) insert_list_~l.offset) ((_ extract 7 0) |insert_list_#in~k|)))} is VALID [2022-02-20 16:49:13,071 INFO L290 TraceCheckUtils]: 19: Hoare triple {1286#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select (select |#memory_int| insert_list_~l.base) insert_list_~l.offset) ((_ extract 7 0) |insert_list_#in~k|)))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1290#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) ((_ extract 7 0) |insert_list_#in~k|)))} is VALID [2022-02-20 16:49:13,072 INFO L290 TraceCheckUtils]: 20: Hoare triple {1290#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) ((_ extract 7 0) |insert_list_#in~k|)))} assume true; {1290#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) ((_ extract 7 0) |insert_list_#in~k|)))} is VALID [2022-02-20 16:49:13,073 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1290#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) ((_ extract 7 0) |insert_list_#in~k|)))} {1226#true} #72#return; {1297#(and (= (_ bv1 8) (select (select |#memory_int| ~head~0.base) ~head~0.offset)) (= (select |#valid| ~head~0.base) (_ bv1 1)))} is VALID [2022-02-20 16:49:13,073 INFO L290 TraceCheckUtils]: 22: Hoare triple {1297#(and (= (_ bv1 8) (select (select |#memory_int| ~head~0.base) ~head~0.offset)) (= (select |#valid| ~head~0.base) (_ bv1 1)))} havoc main_#t~ret9#1; {1297#(and (= (_ bv1 8) (select (select |#memory_int| ~head~0.base) ~head~0.offset)) (= (select |#valid| ~head~0.base) (_ bv1 1)))} is VALID [2022-02-20 16:49:13,074 INFO L272 TraceCheckUtils]: 23: Hoare triple {1297#(and (= (_ bv1 8) (select (select |#memory_int| ~head~0.base) ~head~0.offset)) (= (select |#valid| ~head~0.base) (_ bv1 1)))} call main_#t~ret10#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {1304#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-02-20 16:49:13,076 INFO L290 TraceCheckUtils]: 24: Hoare triple {1304#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_int| |old(#memory_int)|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {1308#(and (exists ((v_ArrVal_600 (Array (_ BitVec 32) (_ BitVec 8)))) (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base v_ArrVal_600))) (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 16:49:13,177 WARN L290 TraceCheckUtils]: 25: Hoare triple {1308#(and (exists ((v_ArrVal_600 (Array (_ BitVec 32) (_ BitVec 8)))) (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base v_ArrVal_600))) (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {1312#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_ArrVal_604 (Array (_ BitVec 32) (_ BitVec 8)))) (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base v_ArrVal_604))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|) (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} is UNKNOWN [2022-02-20 16:49:13,192 INFO L290 TraceCheckUtils]: 26: Hoare triple {1312#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_ArrVal_604 (Array (_ BitVec 32) (_ BitVec 8)))) (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base v_ArrVal_604))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|) (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1316#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|) (exists ((v_ArrVal_604 (Array (_ BitVec 32) (_ BitVec 8)))) (= |#memory_int| (store |old(#memory_int)| ~head~0.base v_ArrVal_604))))} is VALID [2022-02-20 16:49:13,193 INFO L290 TraceCheckUtils]: 27: Hoare triple {1316#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|) (exists ((v_ArrVal_604 (Array (_ BitVec 32) (_ BitVec 8)))) (= |#memory_int| (store |old(#memory_int)| ~head~0.base v_ArrVal_604))))} assume true; {1316#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|) (exists ((v_ArrVal_604 (Array (_ BitVec 32) (_ BitVec 8)))) (= |#memory_int| (store |old(#memory_int)| ~head~0.base v_ArrVal_604))))} is VALID [2022-02-20 16:49:13,195 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1316#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|) (exists ((v_ArrVal_604 (Array (_ BitVec 32) (_ BitVec 8)))) (= |#memory_int| (store |old(#memory_int)| ~head~0.base v_ArrVal_604))))} {1297#(and (= (_ bv1 8) (select (select |#memory_int| ~head~0.base) ~head~0.offset)) (= (select |#valid| ~head~0.base) (_ bv1 1)))} #74#return; {1323#(and (= (_ bv1 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)))} is VALID [2022-02-20 16:49:13,196 INFO L290 TraceCheckUtils]: 29: Hoare triple {1323#(and (= (_ bv1 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)))} havoc main_#t~ret10#1;assume { :begin_inline_search_list } true;search_list_#in~l#1.base, search_list_#in~l#1.offset, search_list_#in~k#1 := ~head~0.base, ~head~0.offset, 2bv32;havoc search_list_#res#1.base, search_list_#res#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset, search_list_#t~mem3#1, search_list_#t~short4#1, search_list_~l#1.base, search_list_~l#1.offset, search_list_~k#1;search_list_~l#1.base, search_list_~l#1.offset := search_list_#in~l#1.base, search_list_#in~l#1.offset;search_list_~k#1 := search_list_#in~k#1;search_list_~l#1.base, search_list_~l#1.offset := ~head~0.base, ~head~0.offset; {1327#(and (not (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (_ bv1 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} is VALID [2022-02-20 16:49:13,197 INFO L290 TraceCheckUtils]: 30: Hoare triple {1327#(and (not (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (_ bv1 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} search_list_#t~short4#1 := search_list_~l#1.base != 0bv32 || search_list_~l#1.offset != 0bv32; {1327#(and (not (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (_ bv1 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} is VALID [2022-02-20 16:49:13,198 INFO L290 TraceCheckUtils]: 31: Hoare triple {1327#(and (not (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (_ bv1 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~intINTTYPE4(search_list_~l#1.base, search_list_~l#1.offset, 4bv32);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {1327#(and (not (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (_ bv1 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} is VALID [2022-02-20 16:49:13,198 INFO L290 TraceCheckUtils]: 32: Hoare triple {1327#(and (not (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (_ bv1 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} assume !!search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1;call search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset := read~$Pointer$(search_list_~l#1.base, ~bvadd32(4bv32, search_list_~l#1.offset), 4bv32);search_list_~l#1.base, search_list_~l#1.offset := search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset; {1337#(and (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (_ bv1 8) (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|)))} is VALID [2022-02-20 16:49:13,199 INFO L290 TraceCheckUtils]: 33: Hoare triple {1337#(and (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (_ bv1 8) (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|)))} search_list_#t~short4#1 := search_list_~l#1.base != 0bv32 || search_list_~l#1.offset != 0bv32; {1337#(and (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (_ bv1 8) (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|)))} is VALID [2022-02-20 16:49:13,199 INFO L290 TraceCheckUtils]: 34: Hoare triple {1337#(and (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (_ bv1 8) (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|)))} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~intINTTYPE4(search_list_~l#1.base, search_list_~l#1.offset, 4bv32);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {1344#|ULTIMATE.start_search_list_#t~short4#1|} is VALID [2022-02-20 16:49:13,200 INFO L290 TraceCheckUtils]: 35: Hoare triple {1344#|ULTIMATE.start_search_list_#t~short4#1|} assume !search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1; {1227#false} is VALID [2022-02-20 16:49:13,200 INFO L290 TraceCheckUtils]: 36: Hoare triple {1227#false} search_list_#res#1.base, search_list_#res#1.offset := search_list_~l#1.base, search_list_~l#1.offset; {1227#false} is VALID [2022-02-20 16:49:13,200 INFO L290 TraceCheckUtils]: 37: Hoare triple {1227#false} main_#t~ret11#1.base, main_#t~ret11#1.offset := search_list_#res#1.base, search_list_#res#1.offset;assume { :end_inline_search_list } true;main_~temp~0#1.base, main_~temp~0#1.offset := main_#t~ret11#1.base, main_#t~ret11#1.offset;havoc main_#t~ret11#1.base, main_#t~ret11#1.offset;call main_#t~mem12#1 := read~intINTTYPE4(main_~temp~0#1.base, main_~temp~0#1.offset, 4bv32);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 1bv32 == main_#t~mem12#1 then 1bv32 else 0bv32);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {1227#false} is VALID [2022-02-20 16:49:13,200 INFO L290 TraceCheckUtils]: 38: Hoare triple {1227#false} assume 0bv32 == __VERIFIER_assert_~cond#1; {1227#false} is VALID [2022-02-20 16:49:13,200 INFO L290 TraceCheckUtils]: 39: Hoare triple {1227#false} assume !false; {1227#false} is VALID [2022-02-20 16:49:13,200 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 19 proven. 7 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 16:49:13,200 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:49:13,793 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_~head~0.base_46 (_ BitVec 32)) (v_ArrVal_613 (Array (_ BitVec 32) (_ BitVec 8)))) (or (not (= (_ bv2 32) (let ((.cse0 (select (store |c_#memory_int| v_~head~0.base_46 v_ArrVal_613) c_~head~0.base))) (concat (concat (concat (select .cse0 (bvadd c_~head~0.offset (_ bv3 32))) (select .cse0 (bvadd c_~head~0.offset (_ bv2 32)))) (select .cse0 (bvadd c_~head~0.offset (_ bv1 32)))) (select .cse0 c_~head~0.offset))))) (not (= (_ bv0 1) (bvneg (select |c_#valid| v_~head~0.base_46)))))) is different from false [2022-02-20 16:49:13,795 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:49:13,795 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [2104942780] [2022-02-20 16:49:13,795 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [2104942780] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:49:13,795 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleCvc4 [1164773946] [2022-02-20 16:49:13,795 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:49:13,795 INFO L173 SolverBuilder]: Constructing external solver with command: cvc4 --incremental --print-success --lang smt [2022-02-20 16:49:13,795 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 [2022-02-20 16:49:13,823 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (exit command is (exit), workingDir is null) [2022-02-20 16:49:13,824 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (7)] Waiting until timeout for monitored process [2022-02-20 16:49:14,207 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:49:14,227 INFO L263 TraceCheckSpWp]: Trace formula consists of 331 conjuncts, 51 conjunts are in the unsatisfiable core [2022-02-20 16:49:14,248 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:49:14,249 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:49:14,309 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:49:14,369 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:14,370 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:14,370 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:14,371 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:14,371 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:14,372 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:14,372 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:14,376 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:14,377 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:14,378 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:14,380 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 10 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 48 [2022-02-20 16:49:14,780 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:49:14,789 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:49:14,919 INFO L356 Elim1Store]: treesize reduction 4, result has 71.4 percent of original size [2022-02-20 16:49:14,919 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 18 treesize of output 18 [2022-02-20 16:49:14,926 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 59 treesize of output 37 [2022-02-20 16:49:15,161 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:49:15,174 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 60 treesize of output 36 [2022-02-20 16:49:15,280 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:15,281 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:15,282 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:15,282 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:15,283 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:15,284 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 16:49:15,285 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:15,285 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 16:49:15,286 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:15,286 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 16:49:15,292 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:49:15,293 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 8 select indices, 8 select index equivalence classes, 6 disjoint index pairs (out of 28 index pairs), introduced 8 new quantified variables, introduced 28 case distinctions, treesize of input 98 treesize of output 50 [2022-02-20 16:49:15,333 INFO L290 TraceCheckUtils]: 0: Hoare triple {1226#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {1226#true} is VALID [2022-02-20 16:49:15,333 INFO L290 TraceCheckUtils]: 1: Hoare triple {1226#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1, main_#t~ret8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~ret11#1.base, main_#t~ret11#1.offset, main_#t~mem12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;havoc main_~mylist~0#1.base, main_~mylist~0#1.offset;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {1226#true} is VALID [2022-02-20 16:49:15,333 INFO L272 TraceCheckUtils]: 2: Hoare triple {1226#true} call main_#t~ret7#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {1226#true} is VALID [2022-02-20 16:49:15,334 INFO L290 TraceCheckUtils]: 3: Hoare triple {1226#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {1226#true} is VALID [2022-02-20 16:49:15,334 INFO L290 TraceCheckUtils]: 4: Hoare triple {1226#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {1226#true} is VALID [2022-02-20 16:49:15,334 INFO L290 TraceCheckUtils]: 5: Hoare triple {1226#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1226#true} is VALID [2022-02-20 16:49:15,334 INFO L290 TraceCheckUtils]: 6: Hoare triple {1226#true} assume true; {1226#true} is VALID [2022-02-20 16:49:15,334 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1226#true} {1226#true} #68#return; {1226#true} is VALID [2022-02-20 16:49:15,334 INFO L290 TraceCheckUtils]: 8: Hoare triple {1226#true} havoc main_#t~ret7#1; {1226#true} is VALID [2022-02-20 16:49:15,334 INFO L272 TraceCheckUtils]: 9: Hoare triple {1226#true} call main_#t~ret8#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {1226#true} is VALID [2022-02-20 16:49:15,334 INFO L290 TraceCheckUtils]: 10: Hoare triple {1226#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {1226#true} is VALID [2022-02-20 16:49:15,334 INFO L290 TraceCheckUtils]: 11: Hoare triple {1226#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {1226#true} is VALID [2022-02-20 16:49:15,334 INFO L290 TraceCheckUtils]: 12: Hoare triple {1226#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1226#true} is VALID [2022-02-20 16:49:15,334 INFO L290 TraceCheckUtils]: 13: Hoare triple {1226#true} assume true; {1226#true} is VALID [2022-02-20 16:49:15,334 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {1226#true} {1226#true} #70#return; {1226#true} is VALID [2022-02-20 16:49:15,334 INFO L290 TraceCheckUtils]: 15: Hoare triple {1226#true} havoc main_#t~ret8#1; {1226#true} is VALID [2022-02-20 16:49:15,335 INFO L272 TraceCheckUtils]: 16: Hoare triple {1226#true} call main_#t~ret9#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {1226#true} is VALID [2022-02-20 16:49:15,336 INFO L290 TraceCheckUtils]: 17: Hoare triple {1226#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {1451#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= |insert_list_#in~k| insert_list_~k) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 16:49:15,338 INFO L290 TraceCheckUtils]: 18: Hoare triple {1451#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= |insert_list_#in~k| insert_list_~k) (= (_ bv0 32) insert_list_~l.offset))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {1455#(and (= ((_ extract 23 16) |insert_list_#in~k|) (select (select |#memory_int| insert_list_~l.base) (bvadd (_ bv2 32) insert_list_~l.offset))) (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select (select |#memory_int| insert_list_~l.base) insert_list_~l.offset) ((_ extract 7 0) |insert_list_#in~k|)) (= ((_ extract 31 24) |insert_list_#in~k|) (select (select |#memory_int| insert_list_~l.base) (bvadd (_ bv3 32) insert_list_~l.offset))) (= (select (select |#memory_int| insert_list_~l.base) (bvadd (_ bv1 32) insert_list_~l.offset)) ((_ extract 15 8) |insert_list_#in~k|)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 16:49:15,339 INFO L290 TraceCheckUtils]: 19: Hoare triple {1455#(and (= ((_ extract 23 16) |insert_list_#in~k|) (select (select |#memory_int| insert_list_~l.base) (bvadd (_ bv2 32) insert_list_~l.offset))) (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select (select |#memory_int| insert_list_~l.base) insert_list_~l.offset) ((_ extract 7 0) |insert_list_#in~k|)) (= ((_ extract 31 24) |insert_list_#in~k|) (select (select |#memory_int| insert_list_~l.base) (bvadd (_ bv3 32) insert_list_~l.offset))) (= (select (select |#memory_int| insert_list_~l.base) (bvadd (_ bv1 32) insert_list_~l.offset)) ((_ extract 15 8) |insert_list_#in~k|)) (= (_ bv0 32) insert_list_~l.offset))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1459#(and (= ((_ extract 15 8) |insert_list_#in~k|) (select (select |#memory_int| ~head~0.base) (bvadd ~head~0.offset (_ bv1 32)))) (= ((_ extract 23 16) |insert_list_#in~k|) (select (select |#memory_int| ~head~0.base) (bvadd (_ bv2 32) ~head~0.offset))) (= ((_ extract 31 24) |insert_list_#in~k|) (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset))) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) ((_ extract 7 0) |insert_list_#in~k|)))} is VALID [2022-02-20 16:49:15,340 INFO L290 TraceCheckUtils]: 20: Hoare triple {1459#(and (= ((_ extract 15 8) |insert_list_#in~k|) (select (select |#memory_int| ~head~0.base) (bvadd ~head~0.offset (_ bv1 32)))) (= ((_ extract 23 16) |insert_list_#in~k|) (select (select |#memory_int| ~head~0.base) (bvadd (_ bv2 32) ~head~0.offset))) (= ((_ extract 31 24) |insert_list_#in~k|) (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset))) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) ((_ extract 7 0) |insert_list_#in~k|)))} assume true; {1459#(and (= ((_ extract 15 8) |insert_list_#in~k|) (select (select |#memory_int| ~head~0.base) (bvadd ~head~0.offset (_ bv1 32)))) (= ((_ extract 23 16) |insert_list_#in~k|) (select (select |#memory_int| ~head~0.base) (bvadd (_ bv2 32) ~head~0.offset))) (= ((_ extract 31 24) |insert_list_#in~k|) (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset))) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) ((_ extract 7 0) |insert_list_#in~k|)))} is VALID [2022-02-20 16:49:15,341 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1459#(and (= ((_ extract 15 8) |insert_list_#in~k|) (select (select |#memory_int| ~head~0.base) (bvadd ~head~0.offset (_ bv1 32)))) (= ((_ extract 23 16) |insert_list_#in~k|) (select (select |#memory_int| ~head~0.base) (bvadd (_ bv2 32) ~head~0.offset))) (= ((_ extract 31 24) |insert_list_#in~k|) (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset))) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) ((_ extract 7 0) |insert_list_#in~k|)))} {1226#true} #72#return; {1466#(and (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv2 32) ~head~0.offset)) (_ bv0 8)) (= (_ bv1 8) (select (select |#memory_int| ~head~0.base) ~head~0.offset)) (= (select (select |#memory_int| ~head~0.base) (bvadd ~head~0.offset (_ bv1 32))) (_ bv0 8)) (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset)) (_ bv0 8)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)))} is VALID [2022-02-20 16:49:15,342 INFO L290 TraceCheckUtils]: 22: Hoare triple {1466#(and (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv2 32) ~head~0.offset)) (_ bv0 8)) (= (_ bv1 8) (select (select |#memory_int| ~head~0.base) ~head~0.offset)) (= (select (select |#memory_int| ~head~0.base) (bvadd ~head~0.offset (_ bv1 32))) (_ bv0 8)) (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset)) (_ bv0 8)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)))} havoc main_#t~ret9#1; {1466#(and (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv2 32) ~head~0.offset)) (_ bv0 8)) (= (_ bv1 8) (select (select |#memory_int| ~head~0.base) ~head~0.offset)) (= (select (select |#memory_int| ~head~0.base) (bvadd ~head~0.offset (_ bv1 32))) (_ bv0 8)) (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset)) (_ bv0 8)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)))} is VALID [2022-02-20 16:49:15,343 INFO L272 TraceCheckUtils]: 23: Hoare triple {1466#(and (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv2 32) ~head~0.offset)) (_ bv0 8)) (= (_ bv1 8) (select (select |#memory_int| ~head~0.base) ~head~0.offset)) (= (select (select |#memory_int| ~head~0.base) (bvadd ~head~0.offset (_ bv1 32))) (_ bv0 8)) (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset)) (_ bv0 8)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)))} call main_#t~ret10#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {1304#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-02-20 16:49:15,345 INFO L290 TraceCheckUtils]: 24: Hoare triple {1304#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_int| |old(#memory_int)|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {1308#(and (exists ((v_ArrVal_600 (Array (_ BitVec 32) (_ BitVec 8)))) (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base v_ArrVal_600))) (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 16:49:15,377 WARN L290 TraceCheckUtils]: 25: Hoare triple {1308#(and (exists ((v_ArrVal_600 (Array (_ BitVec 32) (_ BitVec 8)))) (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base v_ArrVal_600))) (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {1312#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_ArrVal_604 (Array (_ BitVec 32) (_ BitVec 8)))) (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base v_ArrVal_604))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|) (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} is UNKNOWN [2022-02-20 16:49:15,378 INFO L290 TraceCheckUtils]: 26: Hoare triple {1312#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_ArrVal_604 (Array (_ BitVec 32) (_ BitVec 8)))) (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base v_ArrVal_604))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|) (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1316#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|) (exists ((v_ArrVal_604 (Array (_ BitVec 32) (_ BitVec 8)))) (= |#memory_int| (store |old(#memory_int)| ~head~0.base v_ArrVal_604))))} is VALID [2022-02-20 16:49:15,379 INFO L290 TraceCheckUtils]: 27: Hoare triple {1316#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|) (exists ((v_ArrVal_604 (Array (_ BitVec 32) (_ BitVec 8)))) (= |#memory_int| (store |old(#memory_int)| ~head~0.base v_ArrVal_604))))} assume true; {1316#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|) (exists ((v_ArrVal_604 (Array (_ BitVec 32) (_ BitVec 8)))) (= |#memory_int| (store |old(#memory_int)| ~head~0.base v_ArrVal_604))))} is VALID [2022-02-20 16:49:15,382 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1316#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|) (exists ((v_ArrVal_604 (Array (_ BitVec 32) (_ BitVec 8)))) (= |#memory_int| (store |old(#memory_int)| ~head~0.base v_ArrVal_604))))} {1466#(and (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv2 32) ~head~0.offset)) (_ bv0 8)) (= (_ bv1 8) (select (select |#memory_int| ~head~0.base) ~head~0.offset)) (= (select (select |#memory_int| ~head~0.base) (bvadd ~head~0.offset (_ bv1 32))) (_ bv0 8)) (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset)) (_ bv0 8)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)))} #74#return; {1488#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (_ bv1 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv2 32)) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 32)) (_ bv0 8)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv3 32))))} is VALID [2022-02-20 16:49:15,383 INFO L290 TraceCheckUtils]: 29: Hoare triple {1488#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (_ bv1 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv2 32)) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 32)) (_ bv0 8)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv3 32))))} havoc main_#t~ret10#1;assume { :begin_inline_search_list } true;search_list_#in~l#1.base, search_list_#in~l#1.offset, search_list_#in~k#1 := ~head~0.base, ~head~0.offset, 2bv32;havoc search_list_#res#1.base, search_list_#res#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset, search_list_#t~mem3#1, search_list_#t~short4#1, search_list_~l#1.base, search_list_~l#1.offset, search_list_~k#1;search_list_~l#1.base, search_list_~l#1.offset := search_list_#in~l#1.base, search_list_#in~l#1.offset;search_list_~k#1 := search_list_#in~k#1;search_list_~l#1.base, search_list_~l#1.offset := ~head~0.base, ~head~0.offset; {1492#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (not (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv3 32)) (_ bv0 8)) (= (_ bv0 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv1 32))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv2 32)) (_ bv0 8)) (= (_ bv1 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv0 32))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} is VALID [2022-02-20 16:49:15,384 INFO L290 TraceCheckUtils]: 30: Hoare triple {1492#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (not (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv3 32)) (_ bv0 8)) (= (_ bv0 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv1 32))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv2 32)) (_ bv0 8)) (= (_ bv1 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv0 32))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} search_list_#t~short4#1 := search_list_~l#1.base != 0bv32 || search_list_~l#1.offset != 0bv32; {1492#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (not (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv3 32)) (_ bv0 8)) (= (_ bv0 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv1 32))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv2 32)) (_ bv0 8)) (= (_ bv1 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv0 32))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} is VALID [2022-02-20 16:49:15,385 INFO L290 TraceCheckUtils]: 31: Hoare triple {1492#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (not (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv3 32)) (_ bv0 8)) (= (_ bv0 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv1 32))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv2 32)) (_ bv0 8)) (= (_ bv1 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv0 32))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~intINTTYPE4(search_list_~l#1.base, search_list_~l#1.offset, 4bv32);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {1492#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (not (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv3 32)) (_ bv0 8)) (= (_ bv0 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv1 32))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv2 32)) (_ bv0 8)) (= (_ bv1 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv0 32))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} is VALID [2022-02-20 16:49:15,386 INFO L290 TraceCheckUtils]: 32: Hoare triple {1492#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (not (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv3 32)) (_ bv0 8)) (= (_ bv0 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv1 32))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv2 32)) (_ bv0 8)) (= (_ bv1 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv0 32))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} assume !!search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1;call search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset := read~$Pointer$(search_list_~l#1.base, ~bvadd32(4bv32, search_list_~l#1.offset), 4bv32);search_list_~l#1.base, search_list_~l#1.offset := search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset; {1502#(and (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (_ bv0 8) (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (_ bv1 32))) (= (_ bv1 8) (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (_ bv0 32))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (_ bv2 32)) (_ bv0 8)))} is VALID [2022-02-20 16:49:15,386 INFO L290 TraceCheckUtils]: 33: Hoare triple {1502#(and (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (_ bv0 8) (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (_ bv1 32))) (= (_ bv1 8) (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (_ bv0 32))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (_ bv2 32)) (_ bv0 8)))} search_list_#t~short4#1 := search_list_~l#1.base != 0bv32 || search_list_~l#1.offset != 0bv32; {1502#(and (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (_ bv0 8) (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (_ bv1 32))) (= (_ bv1 8) (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (_ bv0 32))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (_ bv2 32)) (_ bv0 8)))} is VALID [2022-02-20 16:49:15,387 INFO L290 TraceCheckUtils]: 34: Hoare triple {1502#(and (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (_ bv0 8) (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (_ bv1 32))) (= (_ bv1 8) (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (_ bv0 32))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (_ bv2 32)) (_ bv0 8)))} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~intINTTYPE4(search_list_~l#1.base, search_list_~l#1.offset, 4bv32);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {1509#(and |ULTIMATE.start_search_list_#t~short4#1| (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} is VALID [2022-02-20 16:49:15,387 INFO L290 TraceCheckUtils]: 35: Hoare triple {1509#(and |ULTIMATE.start_search_list_#t~short4#1| (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} assume !search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1; {1227#false} is VALID [2022-02-20 16:49:15,388 INFO L290 TraceCheckUtils]: 36: Hoare triple {1227#false} search_list_#res#1.base, search_list_#res#1.offset := search_list_~l#1.base, search_list_~l#1.offset; {1227#false} is VALID [2022-02-20 16:49:15,388 INFO L290 TraceCheckUtils]: 37: Hoare triple {1227#false} main_#t~ret11#1.base, main_#t~ret11#1.offset := search_list_#res#1.base, search_list_#res#1.offset;assume { :end_inline_search_list } true;main_~temp~0#1.base, main_~temp~0#1.offset := main_#t~ret11#1.base, main_#t~ret11#1.offset;havoc main_#t~ret11#1.base, main_#t~ret11#1.offset;call main_#t~mem12#1 := read~intINTTYPE4(main_~temp~0#1.base, main_~temp~0#1.offset, 4bv32);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 1bv32 == main_#t~mem12#1 then 1bv32 else 0bv32);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {1227#false} is VALID [2022-02-20 16:49:15,388 INFO L290 TraceCheckUtils]: 38: Hoare triple {1227#false} assume 0bv32 == __VERIFIER_assert_~cond#1; {1227#false} is VALID [2022-02-20 16:49:15,388 INFO L290 TraceCheckUtils]: 39: Hoare triple {1227#false} assume !false; {1227#false} is VALID [2022-02-20 16:49:15,388 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 19 proven. 7 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 16:49:15,388 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:49:15,651 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_772 (Array (_ BitVec 32) (_ BitVec 8))) (v_~head~0.base_54 (_ BitVec 32))) (or (not (= (_ bv0 1) (bvneg (select |c_#valid| v_~head~0.base_54)))) (not (= (_ bv2 32) (let ((.cse0 (select (store |c_#memory_int| v_~head~0.base_54 v_ArrVal_772) c_~head~0.base))) (concat (concat (concat (select .cse0 (bvadd c_~head~0.offset (_ bv3 32))) (select .cse0 (bvadd c_~head~0.offset (_ bv2 32)))) (select .cse0 (bvadd c_~head~0.offset (_ bv1 32)))) (select .cse0 c_~head~0.offset))))))) is different from false [2022-02-20 16:49:15,653 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleCvc4 [1164773946] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:49:15,653 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 16:49:15,653 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 22 [2022-02-20 16:49:15,653 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [369109593] [2022-02-20 16:49:15,653 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 16:49:15,654 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 1.8636363636363635) internal successors, (41), 19 states have internal predecessors, (41), 3 states have call successors, (5), 2 states have call predecessors, (5), 4 states have return successors, (6), 5 states have call predecessors, (6), 3 states have call successors, (6) Word has length 40 [2022-02-20 16:49:15,654 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:49:15,654 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 22 states, 22 states have (on average 1.8636363636363635) internal successors, (41), 19 states have internal predecessors, (41), 3 states have call successors, (5), 2 states have call predecessors, (5), 4 states have return successors, (6), 5 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 16:49:15,754 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 51 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-02-20 16:49:15,754 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-02-20 16:49:15,754 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:49:15,754 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-02-20 16:49:15,755 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=541, Unknown=2, NotChecked=94, Total=702 [2022-02-20 16:49:15,755 INFO L87 Difference]: Start difference. First operand 31 states and 36 transitions. Second operand has 22 states, 22 states have (on average 1.8636363636363635) internal successors, (41), 19 states have internal predecessors, (41), 3 states have call successors, (5), 2 states have call predecessors, (5), 4 states have return successors, (6), 5 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 16:49:16,962 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:49:16,962 INFO L93 Difference]: Finished difference Result 47 states and 53 transitions. [2022-02-20 16:49:16,962 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-02-20 16:49:16,962 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 1.8636363636363635) internal successors, (41), 19 states have internal predecessors, (41), 3 states have call successors, (5), 2 states have call predecessors, (5), 4 states have return successors, (6), 5 states have call predecessors, (6), 3 states have call successors, (6) Word has length 40 [2022-02-20 16:49:16,962 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:49:16,963 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 1.8636363636363635) internal successors, (41), 19 states have internal predecessors, (41), 3 states have call successors, (5), 2 states have call predecessors, (5), 4 states have return successors, (6), 5 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 16:49:16,964 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 51 transitions. [2022-02-20 16:49:16,964 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 1.8636363636363635) internal successors, (41), 19 states have internal predecessors, (41), 3 states have call successors, (5), 2 states have call predecessors, (5), 4 states have return successors, (6), 5 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 16:49:16,965 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 51 transitions. [2022-02-20 16:49:16,965 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 51 transitions. [2022-02-20 16:49:17,139 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 49 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-02-20 16:49:17,140 INFO L225 Difference]: With dead ends: 47 [2022-02-20 16:49:17,140 INFO L226 Difference]: Without dead ends: 42 [2022-02-20 16:49:17,140 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 75 SyntacticMatches, 2 SemanticMatches, 33 ConstructedPredicates, 2 IntricatePredicates, 0 DeprecatedPredicates, 140 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=126, Invalid=936, Unknown=2, NotChecked=126, Total=1190 [2022-02-20 16:49:17,141 INFO L933 BasicCegarLoop]: 17 mSDtfsCounter, 32 mSDsluCounter, 185 mSDsCounter, 0 mSdLazyCounter, 147 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 202 SdHoareTripleChecker+Invalid, 245 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 147 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 87 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 16:49:17,141 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [32 Valid, 202 Invalid, 245 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 147 Invalid, 0 Unknown, 87 Unchecked, 0.3s Time] [2022-02-20 16:49:17,141 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2022-02-20 16:49:17,144 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 34. [2022-02-20 16:49:17,144 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:49:17,144 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand has 34 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 27 states have internal predecessors, (31), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:49:17,144 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand has 34 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 27 states have internal predecessors, (31), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:49:17,144 INFO L87 Difference]: Start difference. First operand 42 states. Second operand has 34 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 27 states have internal predecessors, (31), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:49:17,145 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:49:17,145 INFO L93 Difference]: Finished difference Result 42 states and 48 transitions. [2022-02-20 16:49:17,145 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 48 transitions. [2022-02-20 16:49:17,145 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:49:17,146 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:49:17,146 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 27 states have internal predecessors, (31), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 42 states. [2022-02-20 16:49:17,146 INFO L87 Difference]: Start difference. First operand has 34 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 27 states have internal predecessors, (31), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 42 states. [2022-02-20 16:49:17,147 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:49:17,147 INFO L93 Difference]: Finished difference Result 42 states and 48 transitions. [2022-02-20 16:49:17,147 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 48 transitions. [2022-02-20 16:49:17,148 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:49:17,148 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:49:17,148 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:49:17,148 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:49:17,148 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 27 states have internal predecessors, (31), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:49:17,149 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 40 transitions. [2022-02-20 16:49:17,149 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 40 transitions. Word has length 40 [2022-02-20 16:49:17,149 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:49:17,149 INFO L470 AbstractCegarLoop]: Abstraction has 34 states and 40 transitions. [2022-02-20 16:49:17,149 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 22 states have (on average 1.8636363636363635) internal successors, (41), 19 states have internal predecessors, (41), 3 states have call successors, (5), 2 states have call predecessors, (5), 4 states have return successors, (6), 5 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 16:49:17,150 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 40 transitions. [2022-02-20 16:49:17,150 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-02-20 16:49:17,150 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:49:17,150 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 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] [2022-02-20 16:49:17,154 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (7)] Forceful destruction successful, exit code 0 [2022-02-20 16:49:17,362 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (6)] Forceful destruction successful, exit code 0 [2022-02-20 16:49:17,558 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:49:17,558 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:49:17,559 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:49:17,559 INFO L85 PathProgramCache]: Analyzing trace with hash -947771895, now seen corresponding path program 1 times [2022-02-20 16:49:17,560 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:49:17,560 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1188734059] [2022-02-20 16:49:17,560 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:49:17,560 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:49:17,560 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:49:17,561 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:49:17,562 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (8)] Waiting until timeout for monitored process [2022-02-20 16:49:17,722 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:49:17,731 INFO L263 TraceCheckSpWp]: Trace formula consists of 329 conjuncts, 16 conjunts are in the unsatisfiable core [2022-02-20 16:49:17,747 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:49:17,748 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:49:17,854 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:49:17,988 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 16 treesize of output 8 [2022-02-20 16:49:18,024 INFO L290 TraceCheckUtils]: 0: Hoare triple {1765#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {1765#true} is VALID [2022-02-20 16:49:18,024 INFO L290 TraceCheckUtils]: 1: Hoare triple {1765#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1, main_#t~ret8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~ret11#1.base, main_#t~ret11#1.offset, main_#t~mem12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;havoc main_~mylist~0#1.base, main_~mylist~0#1.offset;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {1765#true} is VALID [2022-02-20 16:49:18,024 INFO L272 TraceCheckUtils]: 2: Hoare triple {1765#true} call main_#t~ret7#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {1765#true} is VALID [2022-02-20 16:49:18,024 INFO L290 TraceCheckUtils]: 3: Hoare triple {1765#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {1765#true} is VALID [2022-02-20 16:49:18,024 INFO L290 TraceCheckUtils]: 4: Hoare triple {1765#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {1765#true} is VALID [2022-02-20 16:49:18,024 INFO L290 TraceCheckUtils]: 5: Hoare triple {1765#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1765#true} is VALID [2022-02-20 16:49:18,024 INFO L290 TraceCheckUtils]: 6: Hoare triple {1765#true} assume true; {1765#true} is VALID [2022-02-20 16:49:18,025 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1765#true} {1765#true} #68#return; {1765#true} is VALID [2022-02-20 16:49:18,025 INFO L290 TraceCheckUtils]: 8: Hoare triple {1765#true} havoc main_#t~ret7#1; {1765#true} is VALID [2022-02-20 16:49:18,025 INFO L272 TraceCheckUtils]: 9: Hoare triple {1765#true} call main_#t~ret8#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {1765#true} is VALID [2022-02-20 16:49:18,025 INFO L290 TraceCheckUtils]: 10: Hoare triple {1765#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {1765#true} is VALID [2022-02-20 16:49:18,025 INFO L290 TraceCheckUtils]: 11: Hoare triple {1765#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {1765#true} is VALID [2022-02-20 16:49:18,025 INFO L290 TraceCheckUtils]: 12: Hoare triple {1765#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1765#true} is VALID [2022-02-20 16:49:18,025 INFO L290 TraceCheckUtils]: 13: Hoare triple {1765#true} assume true; {1765#true} is VALID [2022-02-20 16:49:18,025 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {1765#true} {1765#true} #70#return; {1765#true} is VALID [2022-02-20 16:49:18,025 INFO L290 TraceCheckUtils]: 15: Hoare triple {1765#true} havoc main_#t~ret8#1; {1765#true} is VALID [2022-02-20 16:49:18,025 INFO L272 TraceCheckUtils]: 16: Hoare triple {1765#true} call main_#t~ret9#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {1765#true} is VALID [2022-02-20 16:49:18,026 INFO L290 TraceCheckUtils]: 17: Hoare triple {1765#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {1821#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 16:49:18,026 INFO L290 TraceCheckUtils]: 18: Hoare triple {1821#(not (= insert_list_~l.base (_ bv0 32)))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {1821#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 16:49:18,027 INFO L290 TraceCheckUtils]: 19: Hoare triple {1821#(not (= insert_list_~l.base (_ bv0 32)))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1828#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 16:49:18,027 INFO L290 TraceCheckUtils]: 20: Hoare triple {1828#(not (= (_ bv0 32) ~head~0.base))} assume true; {1828#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 16:49:18,028 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1828#(not (= (_ bv0 32) ~head~0.base))} {1765#true} #72#return; {1828#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 16:49:18,028 INFO L290 TraceCheckUtils]: 22: Hoare triple {1828#(not (= (_ bv0 32) ~head~0.base))} havoc main_#t~ret9#1; {1828#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 16:49:18,029 INFO L272 TraceCheckUtils]: 23: Hoare triple {1828#(not (= (_ bv0 32) ~head~0.base))} call main_#t~ret10#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {1841#(= |old(~head~0.base)| ~head~0.base)} is VALID [2022-02-20 16:49:18,029 INFO L290 TraceCheckUtils]: 24: Hoare triple {1841#(= |old(~head~0.base)| ~head~0.base)} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {1845#(and (= |old(~head~0.base)| ~head~0.base) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 16:49:18,031 INFO L290 TraceCheckUtils]: 25: Hoare triple {1845#(and (= |old(~head~0.base)| ~head~0.base) (= (_ bv0 32) insert_list_~l.offset))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {1849#(and (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 16:49:18,032 INFO L290 TraceCheckUtils]: 26: Hoare triple {1849#(and (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1853#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 16:49:18,032 INFO L290 TraceCheckUtils]: 27: Hoare triple {1853#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} assume true; {1853#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 16:49:18,033 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1853#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} {1828#(not (= (_ bv0 32) ~head~0.base))} #74#return; {1860#(and (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32))) (= ~head~0.offset (_ bv0 32)))} is VALID [2022-02-20 16:49:18,033 INFO L290 TraceCheckUtils]: 29: Hoare triple {1860#(and (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32))) (= ~head~0.offset (_ bv0 32)))} havoc main_#t~ret10#1;assume { :begin_inline_search_list } true;search_list_#in~l#1.base, search_list_#in~l#1.offset, search_list_#in~k#1 := ~head~0.base, ~head~0.offset, 2bv32;havoc search_list_#res#1.base, search_list_#res#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset, search_list_#t~mem3#1, search_list_#t~short4#1, search_list_~l#1.base, search_list_~l#1.offset, search_list_~k#1;search_list_~l#1.base, search_list_~l#1.offset := search_list_#in~l#1.base, search_list_#in~l#1.offset;search_list_~k#1 := search_list_#in~k#1;search_list_~l#1.base, search_list_~l#1.offset := ~head~0.base, ~head~0.offset; {1864#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 32))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} is VALID [2022-02-20 16:49:18,034 INFO L290 TraceCheckUtils]: 30: Hoare triple {1864#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 32))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} search_list_#t~short4#1 := search_list_~l#1.base != 0bv32 || search_list_~l#1.offset != 0bv32; {1864#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 32))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} is VALID [2022-02-20 16:49:18,035 INFO L290 TraceCheckUtils]: 31: Hoare triple {1864#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 32))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~intINTTYPE4(search_list_~l#1.base, search_list_~l#1.offset, 4bv32);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {1864#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 32))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} is VALID [2022-02-20 16:49:18,035 INFO L290 TraceCheckUtils]: 32: Hoare triple {1864#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 32))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} assume !!search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1;call search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset := read~$Pointer$(search_list_~l#1.base, ~bvadd32(4bv32, search_list_~l#1.offset), 4bv32);search_list_~l#1.base, search_list_~l#1.offset := search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset; {1874#(not (= |ULTIMATE.start_search_list_~l#1.base| (_ bv0 32)))} is VALID [2022-02-20 16:49:18,035 INFO L290 TraceCheckUtils]: 33: Hoare triple {1874#(not (= |ULTIMATE.start_search_list_~l#1.base| (_ bv0 32)))} search_list_#t~short4#1 := search_list_~l#1.base != 0bv32 || search_list_~l#1.offset != 0bv32; {1878#|ULTIMATE.start_search_list_#t~short4#1|} is VALID [2022-02-20 16:49:18,036 INFO L290 TraceCheckUtils]: 34: Hoare triple {1878#|ULTIMATE.start_search_list_#t~short4#1|} assume !search_list_#t~short4#1; {1878#|ULTIMATE.start_search_list_#t~short4#1|} is VALID [2022-02-20 16:49:18,036 INFO L290 TraceCheckUtils]: 35: Hoare triple {1878#|ULTIMATE.start_search_list_#t~short4#1|} assume !search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1; {1766#false} is VALID [2022-02-20 16:49:18,036 INFO L290 TraceCheckUtils]: 36: Hoare triple {1766#false} search_list_#res#1.base, search_list_#res#1.offset := search_list_~l#1.base, search_list_~l#1.offset; {1766#false} is VALID [2022-02-20 16:49:18,036 INFO L290 TraceCheckUtils]: 37: Hoare triple {1766#false} main_#t~ret11#1.base, main_#t~ret11#1.offset := search_list_#res#1.base, search_list_#res#1.offset;assume { :end_inline_search_list } true;main_~temp~0#1.base, main_~temp~0#1.offset := main_#t~ret11#1.base, main_#t~ret11#1.offset;havoc main_#t~ret11#1.base, main_#t~ret11#1.offset;call main_#t~mem12#1 := read~intINTTYPE4(main_~temp~0#1.base, main_~temp~0#1.offset, 4bv32);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 1bv32 == main_#t~mem12#1 then 1bv32 else 0bv32);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {1766#false} is VALID [2022-02-20 16:49:18,036 INFO L290 TraceCheckUtils]: 38: Hoare triple {1766#false} assume 0bv32 == __VERIFIER_assert_~cond#1; {1766#false} is VALID [2022-02-20 16:49:18,036 INFO L290 TraceCheckUtils]: 39: Hoare triple {1766#false} assume !false; {1766#false} is VALID [2022-02-20 16:49:18,036 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 19 proven. 7 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 16:49:18,036 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:49:18,354 INFO L290 TraceCheckUtils]: 39: Hoare triple {1766#false} assume !false; {1766#false} is VALID [2022-02-20 16:49:18,354 INFO L290 TraceCheckUtils]: 38: Hoare triple {1766#false} assume 0bv32 == __VERIFIER_assert_~cond#1; {1766#false} is VALID [2022-02-20 16:49:18,355 INFO L290 TraceCheckUtils]: 37: Hoare triple {1766#false} main_#t~ret11#1.base, main_#t~ret11#1.offset := search_list_#res#1.base, search_list_#res#1.offset;assume { :end_inline_search_list } true;main_~temp~0#1.base, main_~temp~0#1.offset := main_#t~ret11#1.base, main_#t~ret11#1.offset;havoc main_#t~ret11#1.base, main_#t~ret11#1.offset;call main_#t~mem12#1 := read~intINTTYPE4(main_~temp~0#1.base, main_~temp~0#1.offset, 4bv32);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 1bv32 == main_#t~mem12#1 then 1bv32 else 0bv32);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {1766#false} is VALID [2022-02-20 16:49:18,355 INFO L290 TraceCheckUtils]: 36: Hoare triple {1766#false} search_list_#res#1.base, search_list_#res#1.offset := search_list_~l#1.base, search_list_~l#1.offset; {1766#false} is VALID [2022-02-20 16:49:18,355 INFO L290 TraceCheckUtils]: 35: Hoare triple {1878#|ULTIMATE.start_search_list_#t~short4#1|} assume !search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1; {1766#false} is VALID [2022-02-20 16:49:18,355 INFO L290 TraceCheckUtils]: 34: Hoare triple {1878#|ULTIMATE.start_search_list_#t~short4#1|} assume !search_list_#t~short4#1; {1878#|ULTIMATE.start_search_list_#t~short4#1|} is VALID [2022-02-20 16:49:18,356 INFO L290 TraceCheckUtils]: 33: Hoare triple {1874#(not (= |ULTIMATE.start_search_list_~l#1.base| (_ bv0 32)))} search_list_#t~short4#1 := search_list_~l#1.base != 0bv32 || search_list_~l#1.offset != 0bv32; {1878#|ULTIMATE.start_search_list_#t~short4#1|} is VALID [2022-02-20 16:49:18,356 INFO L290 TraceCheckUtils]: 32: Hoare triple {1918#(not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 32)))} assume !!search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1;call search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset := read~$Pointer$(search_list_~l#1.base, ~bvadd32(4bv32, search_list_~l#1.offset), 4bv32);search_list_~l#1.base, search_list_~l#1.offset := search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset; {1874#(not (= |ULTIMATE.start_search_list_~l#1.base| (_ bv0 32)))} is VALID [2022-02-20 16:49:18,357 INFO L290 TraceCheckUtils]: 31: Hoare triple {1918#(not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 32)))} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~intINTTYPE4(search_list_~l#1.base, search_list_~l#1.offset, 4bv32);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {1918#(not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 32)))} is VALID [2022-02-20 16:49:18,357 INFO L290 TraceCheckUtils]: 30: Hoare triple {1918#(not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 32)))} search_list_#t~short4#1 := search_list_~l#1.base != 0bv32 || search_list_~l#1.offset != 0bv32; {1918#(not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 32)))} is VALID [2022-02-20 16:49:18,358 INFO L290 TraceCheckUtils]: 29: Hoare triple {1928#(not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)))} havoc main_#t~ret10#1;assume { :begin_inline_search_list } true;search_list_#in~l#1.base, search_list_#in~l#1.offset, search_list_#in~k#1 := ~head~0.base, ~head~0.offset, 2bv32;havoc search_list_#res#1.base, search_list_#res#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset, search_list_#t~mem3#1, search_list_#t~short4#1, search_list_~l#1.base, search_list_~l#1.offset, search_list_~k#1;search_list_~l#1.base, search_list_~l#1.offset := search_list_#in~l#1.base, search_list_#in~l#1.offset;search_list_~k#1 := search_list_#in~k#1;search_list_~l#1.base, search_list_~l#1.offset := ~head~0.base, ~head~0.offset; {1918#(not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 32)))} is VALID [2022-02-20 16:49:18,359 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1935#(or (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32))) (= |old(~head~0.base)| (_ bv0 32)))} {1828#(not (= (_ bv0 32) ~head~0.base))} #74#return; {1928#(not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)))} is VALID [2022-02-20 16:49:18,359 INFO L290 TraceCheckUtils]: 27: Hoare triple {1935#(or (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32))) (= |old(~head~0.base)| (_ bv0 32)))} assume true; {1935#(or (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32))) (= |old(~head~0.base)| (_ bv0 32)))} is VALID [2022-02-20 16:49:18,359 INFO L290 TraceCheckUtils]: 26: Hoare triple {1942#(or (= |old(~head~0.base)| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) (_ bv0 32))))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1935#(or (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32))) (= |old(~head~0.base)| (_ bv0 32)))} is VALID [2022-02-20 16:49:18,361 INFO L290 TraceCheckUtils]: 25: Hoare triple {1946#(or (not (= (_ bv0 32) ~head~0.base)) (= |old(~head~0.base)| (_ bv0 32)))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {1942#(or (= |old(~head~0.base)| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) (_ bv0 32))))} is VALID [2022-02-20 16:49:18,362 INFO L290 TraceCheckUtils]: 24: Hoare triple {1946#(or (not (= (_ bv0 32) ~head~0.base)) (= |old(~head~0.base)| (_ bv0 32)))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {1946#(or (not (= (_ bv0 32) ~head~0.base)) (= |old(~head~0.base)| (_ bv0 32)))} is VALID [2022-02-20 16:49:18,363 INFO L272 TraceCheckUtils]: 23: Hoare triple {1828#(not (= (_ bv0 32) ~head~0.base))} call main_#t~ret10#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {1946#(or (not (= (_ bv0 32) ~head~0.base)) (= |old(~head~0.base)| (_ bv0 32)))} is VALID [2022-02-20 16:49:18,363 INFO L290 TraceCheckUtils]: 22: Hoare triple {1828#(not (= (_ bv0 32) ~head~0.base))} havoc main_#t~ret9#1; {1828#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 16:49:18,364 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1828#(not (= (_ bv0 32) ~head~0.base))} {1765#true} #72#return; {1828#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 16:49:18,364 INFO L290 TraceCheckUtils]: 20: Hoare triple {1828#(not (= (_ bv0 32) ~head~0.base))} assume true; {1828#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 16:49:18,364 INFO L290 TraceCheckUtils]: 19: Hoare triple {1821#(not (= insert_list_~l.base (_ bv0 32)))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1828#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 16:49:18,365 INFO L290 TraceCheckUtils]: 18: Hoare triple {1821#(not (= insert_list_~l.base (_ bv0 32)))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {1821#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 16:49:18,365 INFO L290 TraceCheckUtils]: 17: Hoare triple {1765#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {1821#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 16:49:18,365 INFO L272 TraceCheckUtils]: 16: Hoare triple {1765#true} call main_#t~ret9#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {1765#true} is VALID [2022-02-20 16:49:18,365 INFO L290 TraceCheckUtils]: 15: Hoare triple {1765#true} havoc main_#t~ret8#1; {1765#true} is VALID [2022-02-20 16:49:18,365 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {1765#true} {1765#true} #70#return; {1765#true} is VALID [2022-02-20 16:49:18,366 INFO L290 TraceCheckUtils]: 13: Hoare triple {1765#true} assume true; {1765#true} is VALID [2022-02-20 16:49:18,366 INFO L290 TraceCheckUtils]: 12: Hoare triple {1765#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1765#true} is VALID [2022-02-20 16:49:18,366 INFO L290 TraceCheckUtils]: 11: Hoare triple {1765#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {1765#true} is VALID [2022-02-20 16:49:18,366 INFO L290 TraceCheckUtils]: 10: Hoare triple {1765#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {1765#true} is VALID [2022-02-20 16:49:18,366 INFO L272 TraceCheckUtils]: 9: Hoare triple {1765#true} call main_#t~ret8#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {1765#true} is VALID [2022-02-20 16:49:18,366 INFO L290 TraceCheckUtils]: 8: Hoare triple {1765#true} havoc main_#t~ret7#1; {1765#true} is VALID [2022-02-20 16:49:18,366 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1765#true} {1765#true} #68#return; {1765#true} is VALID [2022-02-20 16:49:18,366 INFO L290 TraceCheckUtils]: 6: Hoare triple {1765#true} assume true; {1765#true} is VALID [2022-02-20 16:49:18,366 INFO L290 TraceCheckUtils]: 5: Hoare triple {1765#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1765#true} is VALID [2022-02-20 16:49:18,369 INFO L290 TraceCheckUtils]: 4: Hoare triple {1765#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {1765#true} is VALID [2022-02-20 16:49:18,369 INFO L290 TraceCheckUtils]: 3: Hoare triple {1765#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {1765#true} is VALID [2022-02-20 16:49:18,369 INFO L272 TraceCheckUtils]: 2: Hoare triple {1765#true} call main_#t~ret7#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {1765#true} is VALID [2022-02-20 16:49:18,369 INFO L290 TraceCheckUtils]: 1: Hoare triple {1765#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1, main_#t~ret8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~ret11#1.base, main_#t~ret11#1.offset, main_#t~mem12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;havoc main_~mylist~0#1.base, main_~mylist~0#1.offset;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {1765#true} is VALID [2022-02-20 16:49:18,369 INFO L290 TraceCheckUtils]: 0: Hoare triple {1765#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {1765#true} is VALID [2022-02-20 16:49:18,369 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 19 proven. 7 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 16:49:18,369 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:49:18,369 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1188734059] [2022-02-20 16:49:18,369 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1188734059] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:49:18,369 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 16:49:18,369 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11] total 17 [2022-02-20 16:49:18,369 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [238862604] [2022-02-20 16:49:18,369 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 16:49:18,370 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 2.176470588235294) internal successors, (37), 14 states have internal predecessors, (37), 2 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) Word has length 40 [2022-02-20 16:49:18,370 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:49:18,370 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 17 states, 17 states have (on average 2.176470588235294) internal successors, (37), 14 states have internal predecessors, (37), 2 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 16:49:18,417 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:49:18,417 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-02-20 16:49:18,417 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:49:18,417 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-02-20 16:49:18,417 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=231, Unknown=0, NotChecked=0, Total=272 [2022-02-20 16:49:18,418 INFO L87 Difference]: Start difference. First operand 34 states and 40 transitions. Second operand has 17 states, 17 states have (on average 2.176470588235294) internal successors, (37), 14 states have internal predecessors, (37), 2 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 16:49:20,159 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:49:20,159 INFO L93 Difference]: Finished difference Result 48 states and 54 transitions. [2022-02-20 16:49:20,159 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-02-20 16:49:20,159 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 2.176470588235294) internal successors, (37), 14 states have internal predecessors, (37), 2 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) Word has length 40 [2022-02-20 16:49:20,159 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:49:20,159 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 2.176470588235294) internal successors, (37), 14 states have internal predecessors, (37), 2 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 16:49:20,160 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 52 transitions. [2022-02-20 16:49:20,160 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 2.176470588235294) internal successors, (37), 14 states have internal predecessors, (37), 2 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 16:49:20,161 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 52 transitions. [2022-02-20 16:49:20,161 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states and 52 transitions. [2022-02-20 16:49:20,256 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:49:20,256 INFO L225 Difference]: With dead ends: 48 [2022-02-20 16:49:20,256 INFO L226 Difference]: Without dead ends: 40 [2022-02-20 16:49:20,257 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 65 SyntacticMatches, 0 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 119 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=216, Invalid=840, Unknown=0, NotChecked=0, Total=1056 [2022-02-20 16:49:20,257 INFO L933 BasicCegarLoop]: 20 mSDtfsCounter, 73 mSDsluCounter, 130 mSDsCounter, 0 mSdLazyCounter, 170 mSolverCounterSat, 58 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 73 SdHoareTripleChecker+Valid, 150 SdHoareTripleChecker+Invalid, 228 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 58 IncrementalHoareTripleChecker+Valid, 170 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-02-20 16:49:20,257 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [73 Valid, 150 Invalid, 228 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [58 Valid, 170 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-02-20 16:49:20,258 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2022-02-20 16:49:20,260 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 34. [2022-02-20 16:49:20,260 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:49:20,260 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand has 34 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 27 states have internal predecessors, (30), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 16:49:20,261 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand has 34 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 27 states have internal predecessors, (30), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 16:49:20,261 INFO L87 Difference]: Start difference. First operand 40 states. Second operand has 34 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 27 states have internal predecessors, (30), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 16:49:20,262 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:49:20,262 INFO L93 Difference]: Finished difference Result 40 states and 44 transitions. [2022-02-20 16:49:20,262 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 44 transitions. [2022-02-20 16:49:20,262 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:49:20,262 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:49:20,262 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 27 states have internal predecessors, (30), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 40 states. [2022-02-20 16:49:20,275 INFO L87 Difference]: Start difference. First operand has 34 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 27 states have internal predecessors, (30), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 40 states. [2022-02-20 16:49:20,276 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:49:20,276 INFO L93 Difference]: Finished difference Result 40 states and 44 transitions. [2022-02-20 16:49:20,276 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 44 transitions. [2022-02-20 16:49:20,276 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:49:20,276 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:49:20,277 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:49:20,277 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:49:20,277 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 27 states have internal predecessors, (30), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 16:49:20,278 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 38 transitions. [2022-02-20 16:49:20,278 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 38 transitions. Word has length 40 [2022-02-20 16:49:20,278 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:49:20,278 INFO L470 AbstractCegarLoop]: Abstraction has 34 states and 38 transitions. [2022-02-20 16:49:20,278 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 17 states have (on average 2.176470588235294) internal successors, (37), 14 states have internal predecessors, (37), 2 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 16:49:20,278 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2022-02-20 16:49:20,279 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-02-20 16:49:20,279 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:49:20,279 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:49:20,291 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (8)] Forceful destruction successful, exit code 0 [2022-02-20 16:49:20,491 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:49:20,492 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:49:20,492 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:49:20,492 INFO L85 PathProgramCache]: Analyzing trace with hash 2009254361, now seen corresponding path program 2 times [2022-02-20 16:49:20,493 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:49:20,493 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1357974914] [2022-02-20 16:49:20,493 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 16:49:20,493 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:49:20,493 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:49:20,494 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:49:20,495 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (9)] Waiting until timeout for monitored process [2022-02-20 16:49:20,970 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 16:49:20,970 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 16:49:20,994 INFO L263 TraceCheckSpWp]: Trace formula consists of 338 conjuncts, 88 conjunts are in the unsatisfiable core [2022-02-20 16:49:21,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:49:21,030 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:49:21,078 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:49:21,111 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:21,112 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:21,113 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:21,114 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:21,114 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:21,115 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:21,118 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:21,119 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:21,120 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:21,121 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:21,125 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 10 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 46 [2022-02-20 16:49:21,368 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:49:21,376 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:49:21,519 INFO L356 Elim1Store]: treesize reduction 23, result has 47.7 percent of original size [2022-02-20 16:49:21,520 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 1 new quantified variables, introduced 1 case distinctions, treesize of input 33 treesize of output 37 [2022-02-20 16:49:21,556 INFO L356 Elim1Store]: treesize reduction 33, result has 43.1 percent of original size [2022-02-20 16:49:21,556 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 24 treesize of output 37 [2022-02-20 16:49:21,805 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:21,806 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:21,807 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:21,808 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:21,808 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:21,809 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:21,810 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:21,810 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:21,811 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:21,812 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:21,812 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 10 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 43 [2022-02-20 16:49:21,823 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 14 [2022-02-20 16:49:21,829 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 14 [2022-02-20 16:49:22,075 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:22,079 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 92 treesize of output 76 [2022-02-20 16:49:22,087 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:22,087 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 53 treesize of output 37 [2022-02-20 16:49:22,095 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:22,096 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:22,098 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 44 treesize of output 16 [2022-02-20 16:49:22,105 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:22,106 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 26 treesize of output 28 [2022-02-20 16:49:22,644 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 16:49:22,649 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 16:49:22,649 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 116 treesize of output 55 [2022-02-20 16:49:22,682 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 34 treesize of output 15 [2022-02-20 16:49:22,830 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:22,837 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 16:49:22,837 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:22,838 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:22,839 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:22,840 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:22,840 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 16:49:22,841 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:22,851 INFO L356 Elim1Store]: treesize reduction 36, result has 23.4 percent of original size [2022-02-20 16:49:22,851 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 9 select indices, 9 select index equivalence classes, 6 disjoint index pairs (out of 36 index pairs), introduced 9 new quantified variables, introduced 36 case distinctions, treesize of input 105 treesize of output 51 [2022-02-20 16:49:22,893 INFO L290 TraceCheckUtils]: 0: Hoare triple {2237#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {2237#true} is VALID [2022-02-20 16:49:22,893 INFO L290 TraceCheckUtils]: 1: Hoare triple {2237#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1, main_#t~ret8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~ret11#1.base, main_#t~ret11#1.offset, main_#t~mem12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;havoc main_~mylist~0#1.base, main_~mylist~0#1.offset;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {2237#true} is VALID [2022-02-20 16:49:22,893 INFO L272 TraceCheckUtils]: 2: Hoare triple {2237#true} call main_#t~ret7#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {2237#true} is VALID [2022-02-20 16:49:22,893 INFO L290 TraceCheckUtils]: 3: Hoare triple {2237#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {2237#true} is VALID [2022-02-20 16:49:22,893 INFO L290 TraceCheckUtils]: 4: Hoare triple {2237#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {2237#true} is VALID [2022-02-20 16:49:22,894 INFO L290 TraceCheckUtils]: 5: Hoare triple {2237#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2237#true} is VALID [2022-02-20 16:49:22,894 INFO L290 TraceCheckUtils]: 6: Hoare triple {2237#true} assume true; {2237#true} is VALID [2022-02-20 16:49:22,894 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {2237#true} {2237#true} #68#return; {2237#true} is VALID [2022-02-20 16:49:22,894 INFO L290 TraceCheckUtils]: 8: Hoare triple {2237#true} havoc main_#t~ret7#1; {2237#true} is VALID [2022-02-20 16:49:22,894 INFO L272 TraceCheckUtils]: 9: Hoare triple {2237#true} call main_#t~ret8#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {2237#true} is VALID [2022-02-20 16:49:22,895 INFO L290 TraceCheckUtils]: 10: Hoare triple {2237#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {2272#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= |insert_list_#in~k| insert_list_~k) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 16:49:22,898 INFO L290 TraceCheckUtils]: 11: Hoare triple {2272#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= |insert_list_#in~k| insert_list_~k) (= (_ bv0 32) insert_list_~l.offset))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {2276#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select (select |#memory_int| insert_list_~l.base) insert_list_~l.offset) ((_ extract 7 0) |insert_list_#in~k|)) (= ((_ extract 31 24) |insert_list_#in~k|) (select (select |#memory_int| insert_list_~l.base) (bvadd (_ bv3 32) insert_list_~l.offset))) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 16:49:22,898 INFO L290 TraceCheckUtils]: 12: Hoare triple {2276#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select (select |#memory_int| insert_list_~l.base) insert_list_~l.offset) ((_ extract 7 0) |insert_list_#in~k|)) (= ((_ extract 31 24) |insert_list_#in~k|) (select (select |#memory_int| insert_list_~l.base) (bvadd (_ bv3 32) insert_list_~l.offset))) (= (_ bv0 32) insert_list_~l.offset))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2280#(and (= ((_ extract 31 24) |insert_list_#in~k|) (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset))) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) ((_ extract 7 0) |insert_list_#in~k|)))} is VALID [2022-02-20 16:49:22,899 INFO L290 TraceCheckUtils]: 13: Hoare triple {2280#(and (= ((_ extract 31 24) |insert_list_#in~k|) (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset))) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) ((_ extract 7 0) |insert_list_#in~k|)))} assume true; {2280#(and (= ((_ extract 31 24) |insert_list_#in~k|) (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset))) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) ((_ extract 7 0) |insert_list_#in~k|)))} is VALID [2022-02-20 16:49:22,900 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {2280#(and (= ((_ extract 31 24) |insert_list_#in~k|) (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset))) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) ((_ extract 7 0) |insert_list_#in~k|)))} {2237#true} #70#return; {2287#(and (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) (_ bv5 8)) (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset)) (_ bv0 8)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)))} is VALID [2022-02-20 16:49:22,900 INFO L290 TraceCheckUtils]: 15: Hoare triple {2287#(and (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) (_ bv5 8)) (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset)) (_ bv0 8)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)))} havoc main_#t~ret8#1; {2287#(and (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) (_ bv5 8)) (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset)) (_ bv0 8)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)))} is VALID [2022-02-20 16:49:22,901 INFO L272 TraceCheckUtils]: 16: Hoare triple {2287#(and (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) (_ bv5 8)) (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset)) (_ bv0 8)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)))} call main_#t~ret9#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {2294#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-02-20 16:49:22,902 INFO L290 TraceCheckUtils]: 17: Hoare triple {2294#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_int| |old(#memory_int)|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {2298#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| ~head~0.offset) (exists ((v_ArrVal_1055 (Array (_ BitVec 32) (_ BitVec 8)))) (= (store |old(#memory_int)| insert_list_~l.base v_ArrVal_1055) |#memory_int|)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 16:49:22,942 WARN L290 TraceCheckUtils]: 18: Hoare triple {2298#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| ~head~0.offset) (exists ((v_ArrVal_1055 (Array (_ BitVec 32) (_ BitVec 8)))) (= (store |old(#memory_int)| insert_list_~l.base v_ArrVal_1055) |#memory_int|)) (= (_ bv0 32) insert_list_~l.offset))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {2302#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|) (exists ((v_ArrVal_1056 (Array (_ BitVec 32) (_ BitVec 8)))) (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base v_ArrVal_1056))) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} is UNKNOWN [2022-02-20 16:49:22,943 INFO L290 TraceCheckUtils]: 19: Hoare triple {2302#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|) (exists ((v_ArrVal_1056 (Array (_ BitVec 32) (_ BitVec 8)))) (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base v_ArrVal_1056))) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2306#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (exists ((v_ArrVal_1056 (Array (_ BitVec 32) (_ BitVec 8)))) (= |#memory_int| (store |old(#memory_int)| ~head~0.base v_ArrVal_1056))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 16:49:22,943 INFO L290 TraceCheckUtils]: 20: Hoare triple {2306#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (exists ((v_ArrVal_1056 (Array (_ BitVec 32) (_ BitVec 8)))) (= |#memory_int| (store |old(#memory_int)| ~head~0.base v_ArrVal_1056))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} assume true; {2306#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (exists ((v_ArrVal_1056 (Array (_ BitVec 32) (_ BitVec 8)))) (= |#memory_int| (store |old(#memory_int)| ~head~0.base v_ArrVal_1056))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 16:49:22,945 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2306#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (exists ((v_ArrVal_1056 (Array (_ BitVec 32) (_ BitVec 8)))) (= |#memory_int| (store |old(#memory_int)| ~head~0.base v_ArrVal_1056))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} {2287#(and (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) (_ bv5 8)) (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset)) (_ bv0 8)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)))} #72#return; {2313#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| ~head~0.base)) (_ bv1 1))) (= (_ bv0 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv3 32))) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv0 32)) (_ bv5 8)))} is VALID [2022-02-20 16:49:22,946 INFO L290 TraceCheckUtils]: 22: Hoare triple {2313#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| ~head~0.base)) (_ bv1 1))) (= (_ bv0 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv3 32))) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv0 32)) (_ bv5 8)))} havoc main_#t~ret9#1; {2313#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| ~head~0.base)) (_ bv1 1))) (= (_ bv0 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv3 32))) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv0 32)) (_ bv5 8)))} is VALID [2022-02-20 16:49:22,946 INFO L272 TraceCheckUtils]: 23: Hoare triple {2313#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| ~head~0.base)) (_ bv1 1))) (= (_ bv0 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv3 32))) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv0 32)) (_ bv5 8)))} call main_#t~ret10#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {2320#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 16:49:22,949 INFO L290 TraceCheckUtils]: 24: Hoare triple {2320#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {2324#(and (exists ((v_ArrVal_1061 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_ArrVal_1061) |#memory_$Pointer$.base|)) (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (exists ((v_ArrVal_1064 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.offset)| insert_list_~l.base v_ArrVal_1064) |#memory_$Pointer$.offset|)) (= |old(~head~0.offset)| ~head~0.offset) (= |insert_list_#in~k| insert_list_~k) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_ArrVal_1062 (Array (_ BitVec 32) (_ BitVec 8)))) (= (store |old(#memory_int)| insert_list_~l.base v_ArrVal_1062) |#memory_int|)))} is VALID [2022-02-20 16:49:23,007 INFO L290 TraceCheckUtils]: 25: Hoare triple {2324#(and (exists ((v_ArrVal_1061 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_ArrVal_1061) |#memory_$Pointer$.base|)) (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (exists ((v_ArrVal_1064 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.offset)| insert_list_~l.base v_ArrVal_1064) |#memory_$Pointer$.offset|)) (= |old(~head~0.offset)| ~head~0.offset) (= |insert_list_#in~k| insert_list_~k) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_ArrVal_1062 (Array (_ BitVec 32) (_ BitVec 8)))) (= (store |old(#memory_int)| insert_list_~l.base v_ArrVal_1062) |#memory_int|)))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {2328#(and (exists ((v_arrayElimArr_2 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.offset)| insert_list_~l.base v_arrayElimArr_2) |#memory_$Pointer$.offset|) (= (select v_arrayElimArr_2 (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|))) (exists ((v_arrayElimArr_1 (Array (_ BitVec 32) (_ BitVec 8)))) (and (= ((_ extract 15 8) |insert_list_#in~k|) (select v_arrayElimArr_1 (bvadd (_ bv1 32) insert_list_~l.offset))) (= ((_ extract 31 24) |insert_list_#in~k|) (select v_arrayElimArr_1 (bvadd (_ bv3 32) insert_list_~l.offset))) (= ((_ extract 7 0) |insert_list_#in~k|) (select v_arrayElimArr_1 insert_list_~l.offset)) (= (store |old(#memory_int)| insert_list_~l.base v_arrayElimArr_1) |#memory_int|))) (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_arrayElimArr_3 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_arrayElimArr_3) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_3 (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))))} is VALID [2022-02-20 16:49:23,024 INFO L290 TraceCheckUtils]: 26: Hoare triple {2328#(and (exists ((v_arrayElimArr_2 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.offset)| insert_list_~l.base v_arrayElimArr_2) |#memory_$Pointer$.offset|) (= (select v_arrayElimArr_2 (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|))) (exists ((v_arrayElimArr_1 (Array (_ BitVec 32) (_ BitVec 8)))) (and (= ((_ extract 15 8) |insert_list_#in~k|) (select v_arrayElimArr_1 (bvadd (_ bv1 32) insert_list_~l.offset))) (= ((_ extract 31 24) |insert_list_#in~k|) (select v_arrayElimArr_1 (bvadd (_ bv3 32) insert_list_~l.offset))) (= ((_ extract 7 0) |insert_list_#in~k|) (select v_arrayElimArr_1 insert_list_~l.offset)) (= (store |old(#memory_int)| insert_list_~l.base v_arrayElimArr_1) |#memory_int|))) (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_arrayElimArr_3 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_arrayElimArr_3) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_3 (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2332#(and (exists ((v_arrayElimArr_1 (Array (_ BitVec 32) (_ BitVec 8)))) (and (= ((_ extract 15 8) |insert_list_#in~k|) (select v_arrayElimArr_1 (bvadd ~head~0.offset (_ bv1 32)))) (= (select v_arrayElimArr_1 ~head~0.offset) ((_ extract 7 0) |insert_list_#in~k|)) (= ((_ extract 31 24) |insert_list_#in~k|) (select v_arrayElimArr_1 (bvadd (_ bv3 32) ~head~0.offset))) (= (store |old(#memory_int)| ~head~0.base v_arrayElimArr_1) |#memory_int|))) (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (exists ((v_arrayElimArr_2 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.offset)| (select v_arrayElimArr_2 (bvadd (_ bv4 32) ~head~0.offset))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| ~head~0.base v_arrayElimArr_2)))) (= ~head~0.offset (_ bv0 32)) (exists ((v_arrayElimArr_3 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (select v_arrayElimArr_3 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|) (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_3) |#memory_$Pointer$.base|))))} is VALID [2022-02-20 16:49:23,027 INFO L290 TraceCheckUtils]: 27: Hoare triple {2332#(and (exists ((v_arrayElimArr_1 (Array (_ BitVec 32) (_ BitVec 8)))) (and (= ((_ extract 15 8) |insert_list_#in~k|) (select v_arrayElimArr_1 (bvadd ~head~0.offset (_ bv1 32)))) (= (select v_arrayElimArr_1 ~head~0.offset) ((_ extract 7 0) |insert_list_#in~k|)) (= ((_ extract 31 24) |insert_list_#in~k|) (select v_arrayElimArr_1 (bvadd (_ bv3 32) ~head~0.offset))) (= (store |old(#memory_int)| ~head~0.base v_arrayElimArr_1) |#memory_int|))) (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (exists ((v_arrayElimArr_2 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.offset)| (select v_arrayElimArr_2 (bvadd (_ bv4 32) ~head~0.offset))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| ~head~0.base v_arrayElimArr_2)))) (= ~head~0.offset (_ bv0 32)) (exists ((v_arrayElimArr_3 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (select v_arrayElimArr_3 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|) (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_3) |#memory_$Pointer$.base|))))} assume true; {2332#(and (exists ((v_arrayElimArr_1 (Array (_ BitVec 32) (_ BitVec 8)))) (and (= ((_ extract 15 8) |insert_list_#in~k|) (select v_arrayElimArr_1 (bvadd ~head~0.offset (_ bv1 32)))) (= (select v_arrayElimArr_1 ~head~0.offset) ((_ extract 7 0) |insert_list_#in~k|)) (= ((_ extract 31 24) |insert_list_#in~k|) (select v_arrayElimArr_1 (bvadd (_ bv3 32) ~head~0.offset))) (= (store |old(#memory_int)| ~head~0.base v_arrayElimArr_1) |#memory_int|))) (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (exists ((v_arrayElimArr_2 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.offset)| (select v_arrayElimArr_2 (bvadd (_ bv4 32) ~head~0.offset))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| ~head~0.base v_arrayElimArr_2)))) (= ~head~0.offset (_ bv0 32)) (exists ((v_arrayElimArr_3 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (select v_arrayElimArr_3 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|) (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_3) |#memory_$Pointer$.base|))))} is VALID [2022-02-20 16:49:23,038 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2332#(and (exists ((v_arrayElimArr_1 (Array (_ BitVec 32) (_ BitVec 8)))) (and (= ((_ extract 15 8) |insert_list_#in~k|) (select v_arrayElimArr_1 (bvadd ~head~0.offset (_ bv1 32)))) (= (select v_arrayElimArr_1 ~head~0.offset) ((_ extract 7 0) |insert_list_#in~k|)) (= ((_ extract 31 24) |insert_list_#in~k|) (select v_arrayElimArr_1 (bvadd (_ bv3 32) ~head~0.offset))) (= (store |old(#memory_int)| ~head~0.base v_arrayElimArr_1) |#memory_int|))) (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (exists ((v_arrayElimArr_2 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.offset)| (select v_arrayElimArr_2 (bvadd (_ bv4 32) ~head~0.offset))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| ~head~0.base v_arrayElimArr_2)))) (= ~head~0.offset (_ bv0 32)) (exists ((v_arrayElimArr_3 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (select v_arrayElimArr_3 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|) (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_3) |#memory_$Pointer$.base|))))} {2313#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| ~head~0.base)) (_ bv1 1))) (= (_ bv0 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv3 32))) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv0 32)) (_ bv5 8)))} #74#return; {2339#(and (= (select (select |#memory_int| ~head~0.base) (bvadd ~head~0.offset (_ bv1 32))) (_ bv0 8)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset)) (_ bv0 8)) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))))) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))))) (_ bv0 32)) (_ bv5 8)) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) (_ bv3 8)))} is VALID [2022-02-20 16:49:23,040 INFO L290 TraceCheckUtils]: 29: Hoare triple {2339#(and (= (select (select |#memory_int| ~head~0.base) (bvadd ~head~0.offset (_ bv1 32))) (_ bv0 8)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset)) (_ bv0 8)) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))))) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))))) (_ bv0 32)) (_ bv5 8)) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) (_ bv3 8)))} havoc main_#t~ret10#1;assume { :begin_inline_search_list } true;search_list_#in~l#1.base, search_list_#in~l#1.offset, search_list_#in~k#1 := ~head~0.base, ~head~0.offset, 2bv32;havoc search_list_#res#1.base, search_list_#res#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset, search_list_#t~mem3#1, search_list_#t~short4#1, search_list_~l#1.base, search_list_~l#1.offset, search_list_~k#1;search_list_~l#1.base, search_list_~l#1.offset := search_list_#in~l#1.base, search_list_#in~l#1.offset;search_list_~k#1 := search_list_#in~k#1;search_list_~l#1.base, search_list_~l#1.offset := ~head~0.base, ~head~0.offset; {2343#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (_ bv0 32)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) (_ bv3 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))))) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv3 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))))) (_ bv0 32)) (_ bv5 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv1 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)))} is VALID [2022-02-20 16:49:23,041 INFO L290 TraceCheckUtils]: 30: Hoare triple {2343#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (_ bv0 32)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) (_ bv3 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))))) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv3 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))))) (_ bv0 32)) (_ bv5 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv1 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)))} search_list_#t~short4#1 := search_list_~l#1.base != 0bv32 || search_list_~l#1.offset != 0bv32; {2343#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (_ bv0 32)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) (_ bv3 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))))) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv3 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))))) (_ bv0 32)) (_ bv5 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv1 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)))} is VALID [2022-02-20 16:49:23,042 INFO L290 TraceCheckUtils]: 31: Hoare triple {2343#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (_ bv0 32)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) (_ bv3 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))))) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv3 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))))) (_ bv0 32)) (_ bv5 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv1 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)))} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~intINTTYPE4(search_list_~l#1.base, search_list_~l#1.offset, 4bv32);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {2343#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (_ bv0 32)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) (_ bv3 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))))) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv3 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))))) (_ bv0 32)) (_ bv5 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv1 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)))} is VALID [2022-02-20 16:49:23,043 INFO L290 TraceCheckUtils]: 32: Hoare triple {2343#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (_ bv0 32)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) (_ bv3 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))))) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv3 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))))) (_ bv0 32)) (_ bv5 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv1 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)))} assume !!search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1;call search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset := read~$Pointer$(search_list_~l#1.base, ~bvadd32(4bv32, search_list_~l#1.offset), 4bv32);search_list_~l#1.base, search_list_~l#1.offset := search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset; {2353#(and (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (exists ((|v_ULTIMATE.start_search_list_~l#1.base_19| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32)) |ULTIMATE.start_search_list_~l#1.offset|) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv0 32)) (_ bv3 8)) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))))) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))))) (_ bv0 32)) (_ bv5 8)) (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32)))) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32)))) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32)))) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv1 32)) (_ bv0 8)))))} is VALID [2022-02-20 16:49:23,045 INFO L290 TraceCheckUtils]: 33: Hoare triple {2353#(and (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (exists ((|v_ULTIMATE.start_search_list_~l#1.base_19| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32)) |ULTIMATE.start_search_list_~l#1.offset|) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv0 32)) (_ bv3 8)) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))))) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))))) (_ bv0 32)) (_ bv5 8)) (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32)))) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32)))) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32)))) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv1 32)) (_ bv0 8)))))} search_list_#t~short4#1 := search_list_~l#1.base != 0bv32 || search_list_~l#1.offset != 0bv32; {2353#(and (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (exists ((|v_ULTIMATE.start_search_list_~l#1.base_19| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32)) |ULTIMATE.start_search_list_~l#1.offset|) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv0 32)) (_ bv3 8)) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))))) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))))) (_ bv0 32)) (_ bv5 8)) (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32)))) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32)))) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32)))) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv1 32)) (_ bv0 8)))))} is VALID [2022-02-20 16:49:23,048 INFO L290 TraceCheckUtils]: 34: Hoare triple {2353#(and (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (exists ((|v_ULTIMATE.start_search_list_~l#1.base_19| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32)) |ULTIMATE.start_search_list_~l#1.offset|) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv0 32)) (_ bv3 8)) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))))) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))))) (_ bv0 32)) (_ bv5 8)) (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32)))) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32)))) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32)))) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv1 32)) (_ bv0 8)))))} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~intINTTYPE4(search_list_~l#1.base, search_list_~l#1.offset, 4bv32);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {2353#(and (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (exists ((|v_ULTIMATE.start_search_list_~l#1.base_19| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32)) |ULTIMATE.start_search_list_~l#1.offset|) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv0 32)) (_ bv3 8)) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))))) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))))) (_ bv0 32)) (_ bv5 8)) (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32)))) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32)))) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32)))) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv1 32)) (_ bv0 8)))))} is VALID [2022-02-20 16:49:23,049 INFO L290 TraceCheckUtils]: 35: Hoare triple {2353#(and (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (exists ((|v_ULTIMATE.start_search_list_~l#1.base_19| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32)) |ULTIMATE.start_search_list_~l#1.offset|) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv0 32)) (_ bv3 8)) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))))) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))))) (_ bv0 32)) (_ bv5 8)) (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32)))) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32)))) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv4 32)))) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv1 32)) (_ bv0 8)))))} assume !!search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1;call search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset := read~$Pointer$(search_list_~l#1.base, ~bvadd32(4bv32, search_list_~l#1.offset), 4bv32);search_list_~l#1.base, search_list_~l#1.offset := search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset; {2363#(and (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (_ bv0 32)) (_ bv5 8)) (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (exists ((|v_ULTIMATE.start_search_list_~l#1.base_19| (_ BitVec 32))) (and (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv0 32)) (_ bv3 8)) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv1 32)) (_ bv0 8)))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (_ bv3 32)) (_ bv0 8)))} is VALID [2022-02-20 16:49:23,050 INFO L290 TraceCheckUtils]: 36: Hoare triple {2363#(and (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (_ bv0 32)) (_ bv5 8)) (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (exists ((|v_ULTIMATE.start_search_list_~l#1.base_19| (_ BitVec 32))) (and (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv0 32)) (_ bv3 8)) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv1 32)) (_ bv0 8)))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (_ bv3 32)) (_ bv0 8)))} search_list_#t~short4#1 := search_list_~l#1.base != 0bv32 || search_list_~l#1.offset != 0bv32; {2363#(and (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (_ bv0 32)) (_ bv5 8)) (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (exists ((|v_ULTIMATE.start_search_list_~l#1.base_19| (_ BitVec 32))) (and (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv0 32)) (_ bv3 8)) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv1 32)) (_ bv0 8)))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (_ bv3 32)) (_ bv0 8)))} is VALID [2022-02-20 16:49:23,051 INFO L290 TraceCheckUtils]: 37: Hoare triple {2363#(and (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (_ bv0 32)) (_ bv5 8)) (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (exists ((|v_ULTIMATE.start_search_list_~l#1.base_19| (_ BitVec 32))) (and (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv0 32)) (_ bv3 8)) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_19|) (_ bv1 32)) (_ bv0 8)))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (_ bv3 32)) (_ bv0 8)))} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~intINTTYPE4(search_list_~l#1.base, search_list_~l#1.offset, 4bv32);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {2370#(and |ULTIMATE.start_search_list_#t~short4#1| (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} is VALID [2022-02-20 16:49:23,051 INFO L290 TraceCheckUtils]: 38: Hoare triple {2370#(and |ULTIMATE.start_search_list_#t~short4#1| (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} assume !search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1; {2238#false} is VALID [2022-02-20 16:49:23,051 INFO L290 TraceCheckUtils]: 39: Hoare triple {2238#false} search_list_#res#1.base, search_list_#res#1.offset := search_list_~l#1.base, search_list_~l#1.offset; {2238#false} is VALID [2022-02-20 16:49:23,051 INFO L290 TraceCheckUtils]: 40: Hoare triple {2238#false} main_#t~ret11#1.base, main_#t~ret11#1.offset := search_list_#res#1.base, search_list_#res#1.offset;assume { :end_inline_search_list } true;main_~temp~0#1.base, main_~temp~0#1.offset := main_#t~ret11#1.base, main_#t~ret11#1.offset;havoc main_#t~ret11#1.base, main_#t~ret11#1.offset;call main_#t~mem12#1 := read~intINTTYPE4(main_~temp~0#1.base, main_~temp~0#1.offset, 4bv32);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 1bv32 == main_#t~mem12#1 then 1bv32 else 0bv32);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {2238#false} is VALID [2022-02-20 16:49:23,051 INFO L290 TraceCheckUtils]: 41: Hoare triple {2238#false} assume 0bv32 == __VERIFIER_assert_~cond#1; {2238#false} is VALID [2022-02-20 16:49:23,051 INFO L290 TraceCheckUtils]: 42: Hoare triple {2238#false} assume !false; {2238#false} is VALID [2022-02-20 16:49:23,052 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 17 proven. 21 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 16:49:23,052 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:49:24,053 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:49:24,053 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 11 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 5 case distinctions, treesize of input 200 treesize of output 171 [2022-02-20 16:49:24,063 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:49:24,064 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 1 new quantified variables, introduced 1 case distinctions, treesize of input 140 treesize of output 135 [2022-02-20 16:49:24,071 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:49:24,072 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 1 new quantified variables, introduced 1 case distinctions, treesize of input 128 treesize of output 123 [2022-02-20 16:49:24,147 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_arrayElimArr_4 (Array (_ BitVec 32) (_ BitVec 8))) (v_arrayElimArr_5 (Array (_ BitVec 32) (_ BitVec 32))) (v_~head~0.base_82 (_ BitVec 32)) (v_arrayElimArr_6 (Array (_ BitVec 32) (_ BitVec 32)))) (or (not (= (_ bv2 32) (let ((.cse2 (bvadd c_~head~0.offset (_ bv4 32)))) (let ((.cse0 (select (store |c_#memory_int| v_~head~0.base_82 v_arrayElimArr_4) (select (select (store |c_#memory_$Pointer$.base| v_~head~0.base_82 v_arrayElimArr_5) c_~head~0.base) .cse2))) (.cse1 (select (select (store |c_#memory_$Pointer$.offset| v_~head~0.base_82 v_arrayElimArr_6) c_~head~0.base) .cse2))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32))) (select .cse0 (bvadd .cse1 (_ bv2 32)))) (select .cse0 (bvadd .cse1 (_ bv1 32)))) (select .cse0 .cse1)))))) (not (= (_ bv0 1) (bvneg (select |c_#valid| v_~head~0.base_82)))) (not (= c_~head~0.offset (select v_arrayElimArr_6 (_ bv4 32)))) (not (= (select v_arrayElimArr_5 (_ bv4 32)) c_~head~0.base)) (not (= (select v_arrayElimArr_4 (_ bv0 32)) (_ bv3 8))) (not (= (select v_arrayElimArr_4 (_ bv3 32)) (_ bv0 8))) (not (= (_ bv0 8) (select v_arrayElimArr_4 (_ bv1 32)))))) is different from false [2022-02-20 16:49:24,149 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:49:24,149 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1357974914] [2022-02-20 16:49:24,150 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1357974914] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:49:24,150 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleCvc4 [286720383] [2022-02-20 16:49:24,150 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 16:49:24,150 INFO L173 SolverBuilder]: Constructing external solver with command: cvc4 --incremental --print-success --lang smt [2022-02-20 16:49:24,150 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 [2022-02-20 16:49:24,151 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (exit command is (exit), workingDir is null) [2022-02-20 16:49:24,165 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (10)] Waiting until timeout for monitored process [2022-02-20 16:49:24,646 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 16:49:24,647 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 16:49:24,658 INFO L263 TraceCheckSpWp]: Trace formula consists of 338 conjuncts, 100 conjunts are in the unsatisfiable core [2022-02-20 16:49:24,684 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:49:24,686 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:49:24,720 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:49:24,735 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:24,736 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:24,736 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:24,737 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:24,738 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:24,739 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:24,740 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:24,740 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:24,741 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:24,741 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:24,743 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 10 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 48 [2022-02-20 16:49:25,187 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:49:25,194 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:25,194 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:25,195 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:25,196 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:25,197 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:25,197 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:25,198 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:25,199 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:25,199 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:25,200 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:25,201 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 10 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 42 [2022-02-20 16:49:25,212 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:49:25,511 INFO L356 Elim1Store]: treesize reduction 33, result has 43.1 percent of original size [2022-02-20 16:49:25,511 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 24 treesize of output 37 [2022-02-20 16:49:25,523 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 89 treesize of output 67 [2022-02-20 16:49:25,827 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 14 [2022-02-20 16:49:25,836 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:25,836 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:25,837 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:25,838 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:25,838 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:25,839 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:25,839 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:25,840 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:25,841 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:25,841 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:25,842 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 10 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 44 [2022-02-20 16:49:25,854 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 14 [2022-02-20 16:49:26,229 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:26,230 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 136 treesize of output 108 [2022-02-20 16:49:26,238 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:26,244 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:26,245 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 147 treesize of output 108 [2022-02-20 16:49:26,251 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:26,251 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 134 treesize of output 104 [2022-02-20 16:49:26,258 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:26,259 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:26,259 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 13 [2022-02-20 16:49:27,289 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 16:49:27,299 INFO L356 Elim1Store]: treesize reduction 12, result has 40.0 percent of original size [2022-02-20 16:49:27,300 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 3 case distinctions, treesize of input 182 treesize of output 102 [2022-02-20 16:49:27,327 INFO L356 Elim1Store]: treesize reduction 5, result has 37.5 percent of original size [2022-02-20 16:49:27,327 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 1 case distinctions, treesize of input 78 treesize of output 52 [2022-02-20 16:49:27,763 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:27,765 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:27,766 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:27,767 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:27,768 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:27,768 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:27,771 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:27,772 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:27,772 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 16:49:27,773 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 16:49:27,773 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 16:49:27,782 INFO L356 Elim1Store]: treesize reduction 29, result has 12.1 percent of original size [2022-02-20 16:49:27,782 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 10 select indices, 10 select index equivalence classes, 9 disjoint index pairs (out of 45 index pairs), introduced 10 new quantified variables, introduced 16 case distinctions, treesize of input 146 treesize of output 60 [2022-02-20 16:49:27,827 INFO L290 TraceCheckUtils]: 0: Hoare triple {2237#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {2237#true} is VALID [2022-02-20 16:49:27,827 INFO L290 TraceCheckUtils]: 1: Hoare triple {2237#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1, main_#t~ret8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~ret11#1.base, main_#t~ret11#1.offset, main_#t~mem12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;havoc main_~mylist~0#1.base, main_~mylist~0#1.offset;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {2237#true} is VALID [2022-02-20 16:49:27,827 INFO L272 TraceCheckUtils]: 2: Hoare triple {2237#true} call main_#t~ret7#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {2237#true} is VALID [2022-02-20 16:49:27,827 INFO L290 TraceCheckUtils]: 3: Hoare triple {2237#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {2237#true} is VALID [2022-02-20 16:49:27,827 INFO L290 TraceCheckUtils]: 4: Hoare triple {2237#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {2237#true} is VALID [2022-02-20 16:49:27,827 INFO L290 TraceCheckUtils]: 5: Hoare triple {2237#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2237#true} is VALID [2022-02-20 16:49:27,828 INFO L290 TraceCheckUtils]: 6: Hoare triple {2237#true} assume true; {2237#true} is VALID [2022-02-20 16:49:27,828 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {2237#true} {2237#true} #68#return; {2237#true} is VALID [2022-02-20 16:49:27,828 INFO L290 TraceCheckUtils]: 8: Hoare triple {2237#true} havoc main_#t~ret7#1; {2237#true} is VALID [2022-02-20 16:49:27,828 INFO L272 TraceCheckUtils]: 9: Hoare triple {2237#true} call main_#t~ret8#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {2237#true} is VALID [2022-02-20 16:49:27,830 INFO L290 TraceCheckUtils]: 10: Hoare triple {2237#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {2272#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= |insert_list_#in~k| insert_list_~k) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 16:49:27,832 INFO L290 TraceCheckUtils]: 11: Hoare triple {2272#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= |insert_list_#in~k| insert_list_~k) (= (_ bv0 32) insert_list_~l.offset))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {2470#(and (= ((_ extract 23 16) |insert_list_#in~k|) (select (select |#memory_int| insert_list_~l.base) (bvadd (_ bv2 32) insert_list_~l.offset))) (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select (select |#memory_int| insert_list_~l.base) insert_list_~l.offset) ((_ extract 7 0) |insert_list_#in~k|)) (= ((_ extract 31 24) |insert_list_#in~k|) (select (select |#memory_int| insert_list_~l.base) (bvadd (_ bv3 32) insert_list_~l.offset))) (= (select (select |#memory_int| insert_list_~l.base) (bvadd (_ bv1 32) insert_list_~l.offset)) ((_ extract 15 8) |insert_list_#in~k|)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 16:49:27,833 INFO L290 TraceCheckUtils]: 12: Hoare triple {2470#(and (= ((_ extract 23 16) |insert_list_#in~k|) (select (select |#memory_int| insert_list_~l.base) (bvadd (_ bv2 32) insert_list_~l.offset))) (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select (select |#memory_int| insert_list_~l.base) insert_list_~l.offset) ((_ extract 7 0) |insert_list_#in~k|)) (= ((_ extract 31 24) |insert_list_#in~k|) (select (select |#memory_int| insert_list_~l.base) (bvadd (_ bv3 32) insert_list_~l.offset))) (= (select (select |#memory_int| insert_list_~l.base) (bvadd (_ bv1 32) insert_list_~l.offset)) ((_ extract 15 8) |insert_list_#in~k|)) (= (_ bv0 32) insert_list_~l.offset))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2474#(and (= ((_ extract 15 8) |insert_list_#in~k|) (select (select |#memory_int| ~head~0.base) (bvadd ~head~0.offset (_ bv1 32)))) (= ((_ extract 23 16) |insert_list_#in~k|) (select (select |#memory_int| ~head~0.base) (bvadd (_ bv2 32) ~head~0.offset))) (= ((_ extract 31 24) |insert_list_#in~k|) (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset))) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) ((_ extract 7 0) |insert_list_#in~k|)))} is VALID [2022-02-20 16:49:27,833 INFO L290 TraceCheckUtils]: 13: Hoare triple {2474#(and (= ((_ extract 15 8) |insert_list_#in~k|) (select (select |#memory_int| ~head~0.base) (bvadd ~head~0.offset (_ bv1 32)))) (= ((_ extract 23 16) |insert_list_#in~k|) (select (select |#memory_int| ~head~0.base) (bvadd (_ bv2 32) ~head~0.offset))) (= ((_ extract 31 24) |insert_list_#in~k|) (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset))) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) ((_ extract 7 0) |insert_list_#in~k|)))} assume true; {2474#(and (= ((_ extract 15 8) |insert_list_#in~k|) (select (select |#memory_int| ~head~0.base) (bvadd ~head~0.offset (_ bv1 32)))) (= ((_ extract 23 16) |insert_list_#in~k|) (select (select |#memory_int| ~head~0.base) (bvadd (_ bv2 32) ~head~0.offset))) (= ((_ extract 31 24) |insert_list_#in~k|) (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset))) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) ((_ extract 7 0) |insert_list_#in~k|)))} is VALID [2022-02-20 16:49:27,834 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {2474#(and (= ((_ extract 15 8) |insert_list_#in~k|) (select (select |#memory_int| ~head~0.base) (bvadd ~head~0.offset (_ bv1 32)))) (= ((_ extract 23 16) |insert_list_#in~k|) (select (select |#memory_int| ~head~0.base) (bvadd (_ bv2 32) ~head~0.offset))) (= ((_ extract 31 24) |insert_list_#in~k|) (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset))) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) ((_ extract 7 0) |insert_list_#in~k|)))} {2237#true} #70#return; {2481#(and (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv2 32) ~head~0.offset)) (_ bv0 8)) (= (select (select |#memory_int| ~head~0.base) (bvadd ~head~0.offset (_ bv1 32))) (_ bv0 8)) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) (_ bv5 8)) (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset)) (_ bv0 8)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)))} is VALID [2022-02-20 16:49:27,835 INFO L290 TraceCheckUtils]: 15: Hoare triple {2481#(and (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv2 32) ~head~0.offset)) (_ bv0 8)) (= (select (select |#memory_int| ~head~0.base) (bvadd ~head~0.offset (_ bv1 32))) (_ bv0 8)) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) (_ bv5 8)) (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset)) (_ bv0 8)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)))} havoc main_#t~ret8#1; {2481#(and (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv2 32) ~head~0.offset)) (_ bv0 8)) (= (select (select |#memory_int| ~head~0.base) (bvadd ~head~0.offset (_ bv1 32))) (_ bv0 8)) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) (_ bv5 8)) (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset)) (_ bv0 8)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)))} is VALID [2022-02-20 16:49:27,835 INFO L272 TraceCheckUtils]: 16: Hoare triple {2481#(and (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv2 32) ~head~0.offset)) (_ bv0 8)) (= (select (select |#memory_int| ~head~0.base) (bvadd ~head~0.offset (_ bv1 32))) (_ bv0 8)) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) (_ bv5 8)) (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset)) (_ bv0 8)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)))} call main_#t~ret9#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {2294#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-02-20 16:49:27,837 INFO L290 TraceCheckUtils]: 17: Hoare triple {2294#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_int| |old(#memory_int)|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {2491#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| ~head~0.offset) (= |insert_list_#in~k| insert_list_~k) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_ArrVal_1249 (Array (_ BitVec 32) (_ BitVec 8)))) (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base v_ArrVal_1249))))} is VALID [2022-02-20 16:49:27,844 INFO L290 TraceCheckUtils]: 18: Hoare triple {2491#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| ~head~0.offset) (= |insert_list_#in~k| insert_list_~k) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_ArrVal_1249 (Array (_ BitVec 32) (_ BitVec 8)))) (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base v_ArrVal_1249))))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {2495#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_arrayElimArr_7 (Array (_ BitVec 32) (_ BitVec 8)))) (and (= ((_ extract 31 24) |insert_list_#in~k|) (select v_arrayElimArr_7 (bvadd (_ bv3 32) insert_list_~l.offset))) (= (select v_arrayElimArr_7 (bvadd (_ bv2 32) insert_list_~l.offset)) ((_ extract 23 16) |insert_list_#in~k|)) (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base v_arrayElimArr_7)))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 16:49:27,845 INFO L290 TraceCheckUtils]: 19: Hoare triple {2495#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_arrayElimArr_7 (Array (_ BitVec 32) (_ BitVec 8)))) (and (= ((_ extract 31 24) |insert_list_#in~k|) (select v_arrayElimArr_7 (bvadd (_ bv3 32) insert_list_~l.offset))) (= (select v_arrayElimArr_7 (bvadd (_ bv2 32) insert_list_~l.offset)) ((_ extract 23 16) |insert_list_#in~k|)) (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base v_arrayElimArr_7)))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2499#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (exists ((v_arrayElimArr_7 (Array (_ BitVec 32) (_ BitVec 8)))) (and (= |#memory_int| (store |old(#memory_int)| ~head~0.base v_arrayElimArr_7)) (= ((_ extract 31 24) |insert_list_#in~k|) (select v_arrayElimArr_7 (bvadd (_ bv3 32) ~head~0.offset))) (= (select v_arrayElimArr_7 (bvadd (_ bv2 32) ~head~0.offset)) ((_ extract 23 16) |insert_list_#in~k|)))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 16:49:27,847 INFO L290 TraceCheckUtils]: 20: Hoare triple {2499#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (exists ((v_arrayElimArr_7 (Array (_ BitVec 32) (_ BitVec 8)))) (and (= |#memory_int| (store |old(#memory_int)| ~head~0.base v_arrayElimArr_7)) (= ((_ extract 31 24) |insert_list_#in~k|) (select v_arrayElimArr_7 (bvadd (_ bv3 32) ~head~0.offset))) (= (select v_arrayElimArr_7 (bvadd (_ bv2 32) ~head~0.offset)) ((_ extract 23 16) |insert_list_#in~k|)))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} assume true; {2499#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (exists ((v_arrayElimArr_7 (Array (_ BitVec 32) (_ BitVec 8)))) (and (= |#memory_int| (store |old(#memory_int)| ~head~0.base v_arrayElimArr_7)) (= ((_ extract 31 24) |insert_list_#in~k|) (select v_arrayElimArr_7 (bvadd (_ bv3 32) ~head~0.offset))) (= (select v_arrayElimArr_7 (bvadd (_ bv2 32) ~head~0.offset)) ((_ extract 23 16) |insert_list_#in~k|)))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 16:49:27,849 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2499#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (exists ((v_arrayElimArr_7 (Array (_ BitVec 32) (_ BitVec 8)))) (and (= |#memory_int| (store |old(#memory_int)| ~head~0.base v_arrayElimArr_7)) (= ((_ extract 31 24) |insert_list_#in~k|) (select v_arrayElimArr_7 (bvadd (_ bv3 32) ~head~0.offset))) (= (select v_arrayElimArr_7 (bvadd (_ bv2 32) ~head~0.offset)) ((_ extract 23 16) |insert_list_#in~k|)))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} {2481#(and (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv2 32) ~head~0.offset)) (_ bv0 8)) (= (select (select |#memory_int| ~head~0.base) (bvadd ~head~0.offset (_ bv1 32))) (_ bv0 8)) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) (_ bv5 8)) (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset)) (_ bv0 8)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)))} #72#return; {2506#(and (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv2 32) ~head~0.offset)) (_ bv0 8)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset)) (_ bv0 8)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv5 8)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv1 32))) (_ bv0 8)) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv3 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (_ bv0 8)) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv2 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (_ bv0 8)))} is VALID [2022-02-20 16:49:27,850 INFO L290 TraceCheckUtils]: 22: Hoare triple {2506#(and (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv2 32) ~head~0.offset)) (_ bv0 8)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset)) (_ bv0 8)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv5 8)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv1 32))) (_ bv0 8)) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv3 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (_ bv0 8)) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv2 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (_ bv0 8)))} havoc main_#t~ret9#1; {2506#(and (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv2 32) ~head~0.offset)) (_ bv0 8)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset)) (_ bv0 8)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv5 8)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv1 32))) (_ bv0 8)) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv3 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (_ bv0 8)) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv2 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (_ bv0 8)))} is VALID [2022-02-20 16:49:27,851 INFO L272 TraceCheckUtils]: 23: Hoare triple {2506#(and (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv2 32) ~head~0.offset)) (_ bv0 8)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset)) (_ bv0 8)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv5 8)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv1 32))) (_ bv0 8)) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv3 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (_ bv0 8)) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv2 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (_ bv0 8)))} call main_#t~ret10#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {2320#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 16:49:27,853 INFO L290 TraceCheckUtils]: 24: Hoare triple {2320#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {2324#(and (exists ((v_ArrVal_1061 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_ArrVal_1061) |#memory_$Pointer$.base|)) (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (exists ((v_ArrVal_1064 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.offset)| insert_list_~l.base v_ArrVal_1064) |#memory_$Pointer$.offset|)) (= |old(~head~0.offset)| ~head~0.offset) (= |insert_list_#in~k| insert_list_~k) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_ArrVal_1062 (Array (_ BitVec 32) (_ BitVec 8)))) (= (store |old(#memory_int)| insert_list_~l.base v_ArrVal_1062) |#memory_int|)))} is VALID [2022-02-20 16:49:27,870 INFO L290 TraceCheckUtils]: 25: Hoare triple {2324#(and (exists ((v_ArrVal_1061 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_ArrVal_1061) |#memory_$Pointer$.base|)) (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (exists ((v_ArrVal_1064 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.offset)| insert_list_~l.base v_ArrVal_1064) |#memory_$Pointer$.offset|)) (= |old(~head~0.offset)| ~head~0.offset) (= |insert_list_#in~k| insert_list_~k) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_ArrVal_1062 (Array (_ BitVec 32) (_ BitVec 8)))) (= (store |old(#memory_int)| insert_list_~l.base v_ArrVal_1062) |#memory_int|)))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {2519#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_arrayElimArr_10 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_arrayElimArr_10) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_10 (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))) (exists ((v_arrayElimArr_9 (Array (_ BitVec 32) (_ BitVec 8)))) (and (= ((_ extract 23 16) |insert_list_#in~k|) (select v_arrayElimArr_9 (bvadd (_ bv2 32) insert_list_~l.offset))) (= (select v_arrayElimArr_9 insert_list_~l.offset) ((_ extract 7 0) |insert_list_#in~k|)) (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base v_arrayElimArr_9)) (= ((_ extract 31 24) |insert_list_#in~k|) (select v_arrayElimArr_9 (bvadd (_ bv3 32) insert_list_~l.offset))) (= ((_ extract 15 8) |insert_list_#in~k|) (select v_arrayElimArr_9 (bvadd (_ bv1 32) insert_list_~l.offset))))) (exists ((v_arrayElimArr_8 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.offset)| insert_list_~l.base v_arrayElimArr_8) |#memory_$Pointer$.offset|) (= |old(~head~0.offset)| (select v_arrayElimArr_8 (bvadd (_ bv4 32) insert_list_~l.offset))))) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 16:49:27,872 INFO L290 TraceCheckUtils]: 26: Hoare triple {2519#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_arrayElimArr_10 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_arrayElimArr_10) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_10 (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))) (exists ((v_arrayElimArr_9 (Array (_ BitVec 32) (_ BitVec 8)))) (and (= ((_ extract 23 16) |insert_list_#in~k|) (select v_arrayElimArr_9 (bvadd (_ bv2 32) insert_list_~l.offset))) (= (select v_arrayElimArr_9 insert_list_~l.offset) ((_ extract 7 0) |insert_list_#in~k|)) (= |#memory_int| (store |old(#memory_int)| insert_list_~l.base v_arrayElimArr_9)) (= ((_ extract 31 24) |insert_list_#in~k|) (select v_arrayElimArr_9 (bvadd (_ bv3 32) insert_list_~l.offset))) (= ((_ extract 15 8) |insert_list_#in~k|) (select v_arrayElimArr_9 (bvadd (_ bv1 32) insert_list_~l.offset))))) (exists ((v_arrayElimArr_8 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.offset)| insert_list_~l.base v_arrayElimArr_8) |#memory_$Pointer$.offset|) (= |old(~head~0.offset)| (select v_arrayElimArr_8 (bvadd (_ bv4 32) insert_list_~l.offset))))) (= (_ bv0 32) insert_list_~l.offset))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2523#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (exists ((v_arrayElimArr_9 (Array (_ BitVec 32) (_ BitVec 8)))) (and (= ((_ extract 23 16) |insert_list_#in~k|) (select v_arrayElimArr_9 (bvadd (_ bv2 32) ~head~0.offset))) (= ((_ extract 7 0) |insert_list_#in~k|) (select v_arrayElimArr_9 ~head~0.offset)) (= ((_ extract 15 8) |insert_list_#in~k|) (select v_arrayElimArr_9 (bvadd ~head~0.offset (_ bv1 32)))) (= ((_ extract 31 24) |insert_list_#in~k|) (select v_arrayElimArr_9 (bvadd (_ bv3 32) ~head~0.offset))) (= (store |old(#memory_int)| ~head~0.base v_arrayElimArr_9) |#memory_int|))) (exists ((v_arrayElimArr_8 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.offset)| ~head~0.base v_arrayElimArr_8) |#memory_$Pointer$.offset|) (= |old(~head~0.offset)| (select v_arrayElimArr_8 (bvadd (_ bv4 32) ~head~0.offset))))) (= ~head~0.offset (_ bv0 32)) (exists ((v_arrayElimArr_10 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_10) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_10 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))))} is VALID [2022-02-20 16:49:27,873 INFO L290 TraceCheckUtils]: 27: Hoare triple {2523#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (exists ((v_arrayElimArr_9 (Array (_ BitVec 32) (_ BitVec 8)))) (and (= ((_ extract 23 16) |insert_list_#in~k|) (select v_arrayElimArr_9 (bvadd (_ bv2 32) ~head~0.offset))) (= ((_ extract 7 0) |insert_list_#in~k|) (select v_arrayElimArr_9 ~head~0.offset)) (= ((_ extract 15 8) |insert_list_#in~k|) (select v_arrayElimArr_9 (bvadd ~head~0.offset (_ bv1 32)))) (= ((_ extract 31 24) |insert_list_#in~k|) (select v_arrayElimArr_9 (bvadd (_ bv3 32) ~head~0.offset))) (= (store |old(#memory_int)| ~head~0.base v_arrayElimArr_9) |#memory_int|))) (exists ((v_arrayElimArr_8 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.offset)| ~head~0.base v_arrayElimArr_8) |#memory_$Pointer$.offset|) (= |old(~head~0.offset)| (select v_arrayElimArr_8 (bvadd (_ bv4 32) ~head~0.offset))))) (= ~head~0.offset (_ bv0 32)) (exists ((v_arrayElimArr_10 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_10) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_10 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))))} assume true; {2523#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (exists ((v_arrayElimArr_9 (Array (_ BitVec 32) (_ BitVec 8)))) (and (= ((_ extract 23 16) |insert_list_#in~k|) (select v_arrayElimArr_9 (bvadd (_ bv2 32) ~head~0.offset))) (= ((_ extract 7 0) |insert_list_#in~k|) (select v_arrayElimArr_9 ~head~0.offset)) (= ((_ extract 15 8) |insert_list_#in~k|) (select v_arrayElimArr_9 (bvadd ~head~0.offset (_ bv1 32)))) (= ((_ extract 31 24) |insert_list_#in~k|) (select v_arrayElimArr_9 (bvadd (_ bv3 32) ~head~0.offset))) (= (store |old(#memory_int)| ~head~0.base v_arrayElimArr_9) |#memory_int|))) (exists ((v_arrayElimArr_8 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.offset)| ~head~0.base v_arrayElimArr_8) |#memory_$Pointer$.offset|) (= |old(~head~0.offset)| (select v_arrayElimArr_8 (bvadd (_ bv4 32) ~head~0.offset))))) (= ~head~0.offset (_ bv0 32)) (exists ((v_arrayElimArr_10 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_10) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_10 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))))} is VALID [2022-02-20 16:49:27,878 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2523#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (exists ((v_arrayElimArr_9 (Array (_ BitVec 32) (_ BitVec 8)))) (and (= ((_ extract 23 16) |insert_list_#in~k|) (select v_arrayElimArr_9 (bvadd (_ bv2 32) ~head~0.offset))) (= ((_ extract 7 0) |insert_list_#in~k|) (select v_arrayElimArr_9 ~head~0.offset)) (= ((_ extract 15 8) |insert_list_#in~k|) (select v_arrayElimArr_9 (bvadd ~head~0.offset (_ bv1 32)))) (= ((_ extract 31 24) |insert_list_#in~k|) (select v_arrayElimArr_9 (bvadd (_ bv3 32) ~head~0.offset))) (= (store |old(#memory_int)| ~head~0.base v_arrayElimArr_9) |#memory_int|))) (exists ((v_arrayElimArr_8 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.offset)| ~head~0.base v_arrayElimArr_8) |#memory_$Pointer$.offset|) (= |old(~head~0.offset)| (select v_arrayElimArr_8 (bvadd (_ bv4 32) ~head~0.offset))))) (= ~head~0.offset (_ bv0 32)) (exists ((v_arrayElimArr_10 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_10) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_10 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))))} {2506#(and (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv2 32) ~head~0.offset)) (_ bv0 8)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset)) (_ bv0 8)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv5 8)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv1 32))) (_ bv0 8)) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv3 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (_ bv0 8)) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv2 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (_ bv0 8)))} #74#return; {2530#(and (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (_ bv1 32))) (_ bv0 8)) (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv2 32) ~head~0.offset)) (_ bv0 8)) (= (select (select |#memory_int| ~head~0.base) (bvadd ~head~0.offset (_ bv1 32))) (_ bv0 8)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset)) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32))) (_ bv5 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32))) (bvadd (_ bv2 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)))) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv2 32)) (_ bv0 8)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (_ bv0 32)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv3 32))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32))) (bvadd (_ bv3 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)))) (_ bv0 8)) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) (_ bv3 8)))} is VALID [2022-02-20 16:49:27,880 INFO L290 TraceCheckUtils]: 29: Hoare triple {2530#(and (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (_ bv1 32))) (_ bv0 8)) (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv2 32) ~head~0.offset)) (_ bv0 8)) (= (select (select |#memory_int| ~head~0.base) (bvadd ~head~0.offset (_ bv1 32))) (_ bv0 8)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select (select |#memory_int| ~head~0.base) (bvadd (_ bv3 32) ~head~0.offset)) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32))) (_ bv5 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32))) (bvadd (_ bv2 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)))) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv2 32)) (_ bv0 8)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (_ bv0 32)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv3 32))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32))) (bvadd (_ bv3 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)))) (_ bv0 8)) (= (select (select |#memory_int| ~head~0.base) ~head~0.offset) (_ bv3 8)))} havoc main_#t~ret10#1;assume { :begin_inline_search_list } true;search_list_#in~l#1.base, search_list_#in~l#1.offset, search_list_#in~k#1 := ~head~0.base, ~head~0.offset, 2bv32;havoc search_list_#res#1.base, search_list_#res#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset, search_list_#t~mem3#1, search_list_#t~short4#1, search_list_~l#1.base, search_list_~l#1.offset, search_list_~k#1;search_list_~l#1.base, search_list_~l#1.offset := search_list_#in~l#1.base, search_list_#in~l#1.offset;search_list_~k#1 := search_list_#in~k#1;search_list_~l#1.base, search_list_~l#1.offset := ~head~0.base, ~head~0.offset; {2534#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv1 32))) (_ bv0 8)) (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv3 32)))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32))) (_ bv5 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv2 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv2 32)) (_ bv0 8)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)))) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) (_ bv3 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv3 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv2 32))) (_ bv0 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv1 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)))} is VALID [2022-02-20 16:49:27,882 INFO L290 TraceCheckUtils]: 30: Hoare triple {2534#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv1 32))) (_ bv0 8)) (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv3 32)))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32))) (_ bv5 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv2 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv2 32)) (_ bv0 8)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)))) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) (_ bv3 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv3 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv2 32))) (_ bv0 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv1 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)))} search_list_#t~short4#1 := search_list_~l#1.base != 0bv32 || search_list_~l#1.offset != 0bv32; {2534#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv1 32))) (_ bv0 8)) (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv3 32)))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32))) (_ bv5 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv2 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv2 32)) (_ bv0 8)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)))) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) (_ bv3 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv3 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv2 32))) (_ bv0 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv1 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)))} is VALID [2022-02-20 16:49:27,883 INFO L290 TraceCheckUtils]: 31: Hoare triple {2534#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv1 32))) (_ bv0 8)) (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv3 32)))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32))) (_ bv5 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv2 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv2 32)) (_ bv0 8)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)))) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) (_ bv3 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv3 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv2 32))) (_ bv0 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv1 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)))} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~intINTTYPE4(search_list_~l#1.base, search_list_~l#1.offset, 4bv32);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {2534#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv1 32))) (_ bv0 8)) (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv3 32)))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32))) (_ bv5 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv2 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv2 32)) (_ bv0 8)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)))) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) (_ bv3 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv3 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv2 32))) (_ bv0 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv1 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)))} is VALID [2022-02-20 16:49:27,886 INFO L290 TraceCheckUtils]: 32: Hoare triple {2534#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv1 32))) (_ bv0 8)) (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv3 32)))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32))) (_ bv5 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv2 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv2 32)) (_ bv0 8)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)))) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) (_ bv3 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv3 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv2 32))) (_ bv0 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv1 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)))} assume !!search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1;call search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset := read~$Pointer$(search_list_~l#1.base, ~bvadd32(4bv32, search_list_~l#1.offset), 4bv32);search_list_~l#1.base, search_list_~l#1.offset := search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset; {2544#(and (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (exists ((|v_ULTIMATE.start_search_list_~l#1.base_24| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32)) |ULTIMATE.start_search_list_~l#1.offset|) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv0 32)) (_ bv3 8)) (= (_ bv0 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv3 32))) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv1 32)) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32))) (bvadd (_ bv3 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32)))) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv2 32)) (_ bv0 8)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32))) (bvadd (_ bv2 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32)))) (_ bv0 8)) (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32)) (_ bv1 32))) (_ bv0 8)) (not (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv2 32)) (_ bv0 8)) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32))) (_ bv5 8)))))} is VALID [2022-02-20 16:49:27,889 INFO L290 TraceCheckUtils]: 33: Hoare triple {2544#(and (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (exists ((|v_ULTIMATE.start_search_list_~l#1.base_24| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32)) |ULTIMATE.start_search_list_~l#1.offset|) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv0 32)) (_ bv3 8)) (= (_ bv0 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv3 32))) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv1 32)) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32))) (bvadd (_ bv3 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32)))) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv2 32)) (_ bv0 8)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32))) (bvadd (_ bv2 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32)))) (_ bv0 8)) (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32)) (_ bv1 32))) (_ bv0 8)) (not (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv2 32)) (_ bv0 8)) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32))) (_ bv5 8)))))} search_list_#t~short4#1 := search_list_~l#1.base != 0bv32 || search_list_~l#1.offset != 0bv32; {2544#(and (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (exists ((|v_ULTIMATE.start_search_list_~l#1.base_24| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32)) |ULTIMATE.start_search_list_~l#1.offset|) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv0 32)) (_ bv3 8)) (= (_ bv0 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv3 32))) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv1 32)) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32))) (bvadd (_ bv3 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32)))) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv2 32)) (_ bv0 8)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32))) (bvadd (_ bv2 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32)))) (_ bv0 8)) (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32)) (_ bv1 32))) (_ bv0 8)) (not (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv2 32)) (_ bv0 8)) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32))) (_ bv5 8)))))} is VALID [2022-02-20 16:49:27,892 INFO L290 TraceCheckUtils]: 34: Hoare triple {2544#(and (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (exists ((|v_ULTIMATE.start_search_list_~l#1.base_24| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32)) |ULTIMATE.start_search_list_~l#1.offset|) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv0 32)) (_ bv3 8)) (= (_ bv0 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv3 32))) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv1 32)) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32))) (bvadd (_ bv3 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32)))) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv2 32)) (_ bv0 8)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32))) (bvadd (_ bv2 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32)))) (_ bv0 8)) (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32)) (_ bv1 32))) (_ bv0 8)) (not (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv2 32)) (_ bv0 8)) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32))) (_ bv5 8)))))} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~intINTTYPE4(search_list_~l#1.base, search_list_~l#1.offset, 4bv32);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {2544#(and (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (exists ((|v_ULTIMATE.start_search_list_~l#1.base_24| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32)) |ULTIMATE.start_search_list_~l#1.offset|) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv0 32)) (_ bv3 8)) (= (_ bv0 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv3 32))) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv1 32)) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32))) (bvadd (_ bv3 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32)))) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv2 32)) (_ bv0 8)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32))) (bvadd (_ bv2 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32)))) (_ bv0 8)) (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32)) (_ bv1 32))) (_ bv0 8)) (not (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv2 32)) (_ bv0 8)) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32))) (_ bv5 8)))))} is VALID [2022-02-20 16:49:27,895 INFO L290 TraceCheckUtils]: 35: Hoare triple {2544#(and (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (exists ((|v_ULTIMATE.start_search_list_~l#1.base_24| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32)) |ULTIMATE.start_search_list_~l#1.offset|) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv0 32)) (_ bv3 8)) (= (_ bv0 8) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv3 32))) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv1 32)) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32))) (bvadd (_ bv3 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32)))) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv2 32)) (_ bv0 8)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32))) (bvadd (_ bv2 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32)))) (_ bv0 8)) (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32)) (_ bv1 32))) (_ bv0 8)) (not (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv2 32)) (_ bv0 8)) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv4 32))) (_ bv4 32))) (_ bv5 8)))))} assume !!search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1;call search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset := read~$Pointer$(search_list_~l#1.base, ~bvadd32(4bv32, search_list_~l#1.offset), 4bv32);search_list_~l#1.base, search_list_~l#1.offset := search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset; {2554#(and (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv2 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) (_ bv5 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv3 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|) (exists ((|v_ULTIMATE.start_search_list_~l#1.base_24| (_ BitVec 32)) (v_arrayElimIndex_3 (_ BitVec 32))) (and (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv0 32)) (_ bv3 8)) (= (select (select |#memory_int| v_arrayElimIndex_3) (_ bv2 32)) (_ bv0 8)) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv1 32)) (_ bv0 8)) (not (= |v_ULTIMATE.start_search_list_~l#1.base_24| v_arrayElimIndex_3)) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv2 32)) (_ bv0 8)) (= (select (select |#memory_int| v_arrayElimIndex_3) (_ bv3 32)) (_ bv0 8)) (not (= |ULTIMATE.start_search_list_~l#1.base| v_arrayElimIndex_3)))) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv1 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)))} is VALID [2022-02-20 16:49:27,896 INFO L290 TraceCheckUtils]: 36: Hoare triple {2554#(and (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv2 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) (_ bv5 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv3 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|) (exists ((|v_ULTIMATE.start_search_list_~l#1.base_24| (_ BitVec 32)) (v_arrayElimIndex_3 (_ BitVec 32))) (and (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv0 32)) (_ bv3 8)) (= (select (select |#memory_int| v_arrayElimIndex_3) (_ bv2 32)) (_ bv0 8)) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv1 32)) (_ bv0 8)) (not (= |v_ULTIMATE.start_search_list_~l#1.base_24| v_arrayElimIndex_3)) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv2 32)) (_ bv0 8)) (= (select (select |#memory_int| v_arrayElimIndex_3) (_ bv3 32)) (_ bv0 8)) (not (= |ULTIMATE.start_search_list_~l#1.base| v_arrayElimIndex_3)))) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv1 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)))} search_list_#t~short4#1 := search_list_~l#1.base != 0bv32 || search_list_~l#1.offset != 0bv32; {2554#(and (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv2 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) (_ bv5 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv3 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|) (exists ((|v_ULTIMATE.start_search_list_~l#1.base_24| (_ BitVec 32)) (v_arrayElimIndex_3 (_ BitVec 32))) (and (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv0 32)) (_ bv3 8)) (= (select (select |#memory_int| v_arrayElimIndex_3) (_ bv2 32)) (_ bv0 8)) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv1 32)) (_ bv0 8)) (not (= |v_ULTIMATE.start_search_list_~l#1.base_24| v_arrayElimIndex_3)) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv2 32)) (_ bv0 8)) (= (select (select |#memory_int| v_arrayElimIndex_3) (_ bv3 32)) (_ bv0 8)) (not (= |ULTIMATE.start_search_list_~l#1.base| v_arrayElimIndex_3)))) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv1 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)))} is VALID [2022-02-20 16:49:27,897 INFO L290 TraceCheckUtils]: 37: Hoare triple {2554#(and (= (_ bv2 32) |ULTIMATE.start_search_list_~k#1|) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv2 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) |ULTIMATE.start_search_list_~l#1.offset|) (_ bv5 8)) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv3 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|) (exists ((|v_ULTIMATE.start_search_list_~l#1.base_24| (_ BitVec 32)) (v_arrayElimIndex_3 (_ BitVec 32))) (and (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv0 32)) (_ bv3 8)) (= (select (select |#memory_int| v_arrayElimIndex_3) (_ bv2 32)) (_ bv0 8)) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv1 32)) (_ bv0 8)) (not (= |v_ULTIMATE.start_search_list_~l#1.base_24| v_arrayElimIndex_3)) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv3 32)) (_ bv0 8)) (= (select (select |#memory_int| |v_ULTIMATE.start_search_list_~l#1.base_24|) (_ bv2 32)) (_ bv0 8)) (= (select (select |#memory_int| v_arrayElimIndex_3) (_ bv3 32)) (_ bv0 8)) (not (= |ULTIMATE.start_search_list_~l#1.base| v_arrayElimIndex_3)))) (= (select (select |#memory_int| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv1 32) |ULTIMATE.start_search_list_~l#1.offset|)) (_ bv0 8)))} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~intINTTYPE4(search_list_~l#1.base, search_list_~l#1.offset, 4bv32);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {2370#(and |ULTIMATE.start_search_list_#t~short4#1| (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} is VALID [2022-02-20 16:49:27,897 INFO L290 TraceCheckUtils]: 38: Hoare triple {2370#(and |ULTIMATE.start_search_list_#t~short4#1| (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} assume !search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1; {2238#false} is VALID [2022-02-20 16:49:27,897 INFO L290 TraceCheckUtils]: 39: Hoare triple {2238#false} search_list_#res#1.base, search_list_#res#1.offset := search_list_~l#1.base, search_list_~l#1.offset; {2238#false} is VALID [2022-02-20 16:49:27,897 INFO L290 TraceCheckUtils]: 40: Hoare triple {2238#false} main_#t~ret11#1.base, main_#t~ret11#1.offset := search_list_#res#1.base, search_list_#res#1.offset;assume { :end_inline_search_list } true;main_~temp~0#1.base, main_~temp~0#1.offset := main_#t~ret11#1.base, main_#t~ret11#1.offset;havoc main_#t~ret11#1.base, main_#t~ret11#1.offset;call main_#t~mem12#1 := read~intINTTYPE4(main_~temp~0#1.base, main_~temp~0#1.offset, 4bv32);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 1bv32 == main_#t~mem12#1 then 1bv32 else 0bv32);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {2238#false} is VALID [2022-02-20 16:49:27,897 INFO L290 TraceCheckUtils]: 41: Hoare triple {2238#false} assume 0bv32 == __VERIFIER_assert_~cond#1; {2238#false} is VALID [2022-02-20 16:49:27,897 INFO L290 TraceCheckUtils]: 42: Hoare triple {2238#false} assume !false; {2238#false} is VALID [2022-02-20 16:49:27,898 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 18 proven. 20 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 16:49:27,898 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:49:28,517 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:49:28,517 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 1 new quantified variables, introduced 1 case distinctions, treesize of input 200 treesize of output 195 [2022-02-20 16:49:28,541 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:49:28,541 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 11 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 5 case distinctions, treesize of input 188 treesize of output 159 [2022-02-20 16:49:28,553 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:49:28,554 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 1 new quantified variables, introduced 1 case distinctions, treesize of input 128 treesize of output 123 [2022-02-20 16:49:28,703 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_~head~0.base_90 (_ BitVec 32)) (v_arrayElimArr_11 (Array (_ BitVec 32) (_ BitVec 32))) (v_arrayElimArr_12 (Array (_ BitVec 32) (_ BitVec 8))) (v_arrayElimArr_13 (Array (_ BitVec 32) (_ BitVec 32)))) (or (not (= (let ((.cse2 (bvadd c_~head~0.offset (_ bv4 32)))) (let ((.cse0 (select (store |c_#memory_int| v_~head~0.base_90 v_arrayElimArr_12) (select (select (store |c_#memory_$Pointer$.base| v_~head~0.base_90 v_arrayElimArr_11) c_~head~0.base) .cse2))) (.cse1 (select (select (store |c_#memory_$Pointer$.offset| v_~head~0.base_90 v_arrayElimArr_13) c_~head~0.base) .cse2))) (concat (concat (concat (select .cse0 (bvadd (_ bv3 32) .cse1)) (select .cse0 (bvadd (_ bv2 32) .cse1))) (select .cse0 (bvadd .cse1 (_ bv1 32)))) (select .cse0 .cse1)))) (_ bv2 32))) (not (= (_ bv3 8) (select v_arrayElimArr_12 (_ bv0 32)))) (not (= (select v_arrayElimArr_12 (_ bv1 32)) (_ bv0 8))) (not (= (select v_arrayElimArr_12 (_ bv2 32)) (_ bv0 8))) (not (= (select v_arrayElimArr_11 (_ bv4 32)) c_~head~0.base)) (not (= (_ bv0 1) (bvneg (select |c_#valid| v_~head~0.base_90)))) (not (= (select v_arrayElimArr_12 (_ bv3 32)) (_ bv0 8))) (not (= c_~head~0.offset (select v_arrayElimArr_13 (_ bv4 32)))))) is different from false [2022-02-20 16:49:28,706 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleCvc4 [286720383] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:49:28,706 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 16:49:28,706 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 20] total 33 [2022-02-20 16:49:28,706 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2060025722] [2022-02-20 16:49:28,706 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 16:49:28,707 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 33 states have (on average 1.696969696969697) internal successors, (56), 29 states have internal predecessors, (56), 5 states have call successors, (6), 3 states have call predecessors, (6), 7 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) Word has length 43 [2022-02-20 16:49:28,707 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:49:28,707 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 33 states, 33 states have (on average 1.696969696969697) internal successors, (56), 29 states have internal predecessors, (56), 5 states have call successors, (6), 3 states have call predecessors, (6), 7 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 16:49:29,005 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 68 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-02-20 16:49:29,005 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 33 states [2022-02-20 16:49:29,006 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:49:29,006 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2022-02-20 16:49:29,006 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=103, Invalid=1290, Unknown=21, NotChecked=146, Total=1560 [2022-02-20 16:49:29,007 INFO L87 Difference]: Start difference. First operand 34 states and 38 transitions. Second operand has 33 states, 33 states have (on average 1.696969696969697) internal successors, (56), 29 states have internal predecessors, (56), 5 states have call successors, (6), 3 states have call predecessors, (6), 7 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 16:49:31,649 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:49:31,649 INFO L93 Difference]: Finished difference Result 51 states and 57 transitions. [2022-02-20 16:49:31,649 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-02-20 16:49:31,650 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 33 states have (on average 1.696969696969697) internal successors, (56), 29 states have internal predecessors, (56), 5 states have call successors, (6), 3 states have call predecessors, (6), 7 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) Word has length 43 [2022-02-20 16:49:31,650 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:49:31,650 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 33 states have (on average 1.696969696969697) internal successors, (56), 29 states have internal predecessors, (56), 5 states have call successors, (6), 3 states have call predecessors, (6), 7 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 16:49:31,651 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 53 transitions. [2022-02-20 16:49:31,651 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 33 states have (on average 1.696969696969697) internal successors, (56), 29 states have internal predecessors, (56), 5 states have call successors, (6), 3 states have call predecessors, (6), 7 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 16:49:31,652 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 53 transitions. [2022-02-20 16:49:31,652 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 53 transitions. [2022-02-20 16:49:31,984 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:49:31,985 INFO L225 Difference]: With dead ends: 51 [2022-02-20 16:49:31,985 INFO L226 Difference]: Without dead ends: 46 [2022-02-20 16:49:31,985 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 124 GetRequests, 75 SyntacticMatches, 1 SemanticMatches, 48 ConstructedPredicates, 2 IntricatePredicates, 0 DeprecatedPredicates, 346 ImplicationChecksByTransitivity, 3.7s TimeCoverageRelationStatistics Valid=192, Invalid=2045, Unknown=27, NotChecked=186, Total=2450 [2022-02-20 16:49:31,986 INFO L933 BasicCegarLoop]: 18 mSDtfsCounter, 16 mSDsluCounter, 270 mSDsCounter, 0 mSdLazyCounter, 135 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 288 SdHoareTripleChecker+Invalid, 318 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 135 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 168 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 16:49:31,987 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 288 Invalid, 318 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 135 Invalid, 0 Unknown, 168 Unchecked, 0.4s Time] [2022-02-20 16:49:31,987 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-02-20 16:49:31,990 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 37. [2022-02-20 16:49:31,990 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:49:31,991 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 37 states, 30 states have (on average 1.1333333333333333) internal successors, (34), 30 states have internal predecessors, (34), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 16:49:31,991 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 37 states, 30 states have (on average 1.1333333333333333) internal successors, (34), 30 states have internal predecessors, (34), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 16:49:31,991 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 37 states, 30 states have (on average 1.1333333333333333) internal successors, (34), 30 states have internal predecessors, (34), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 16:49:31,992 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:49:31,992 INFO L93 Difference]: Finished difference Result 46 states and 52 transitions. [2022-02-20 16:49:31,992 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 52 transitions. [2022-02-20 16:49:31,992 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:49:31,993 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:49:31,993 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 30 states have (on average 1.1333333333333333) internal successors, (34), 30 states have internal predecessors, (34), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 46 states. [2022-02-20 16:49:31,993 INFO L87 Difference]: Start difference. First operand has 37 states, 30 states have (on average 1.1333333333333333) internal successors, (34), 30 states have internal predecessors, (34), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 46 states. [2022-02-20 16:49:31,994 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:49:31,994 INFO L93 Difference]: Finished difference Result 46 states and 52 transitions. [2022-02-20 16:49:31,994 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 52 transitions. [2022-02-20 16:49:31,994 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:49:31,994 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:49:31,994 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:49:31,995 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:49:31,995 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 30 states have (on average 1.1333333333333333) internal successors, (34), 30 states have internal predecessors, (34), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 16:49:31,996 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 42 transitions. [2022-02-20 16:49:31,996 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 42 transitions. Word has length 43 [2022-02-20 16:49:31,996 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:49:31,996 INFO L470 AbstractCegarLoop]: Abstraction has 37 states and 42 transitions. [2022-02-20 16:49:31,996 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 33 states, 33 states have (on average 1.696969696969697) internal successors, (56), 29 states have internal predecessors, (56), 5 states have call successors, (6), 3 states have call predecessors, (6), 7 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 16:49:31,996 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 42 transitions. [2022-02-20 16:49:31,996 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-02-20 16:49:31,997 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:49:31,997 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 2, 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:49:32,009 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (9)] Forceful destruction successful, exit code 0 [2022-02-20 16:49:32,206 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (10)] Forceful destruction successful, exit code 0 [2022-02-20 16:49:32,401 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt [2022-02-20 16:49:32,402 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:49:32,402 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:49:32,402 INFO L85 PathProgramCache]: Analyzing trace with hash 2066512663, now seen corresponding path program 2 times [2022-02-20 16:49:32,402 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:49:32,402 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [840599730] [2022-02-20 16:49:32,402 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 16:49:32,403 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:49:32,403 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:49:32,414 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:49:32,415 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (11)] Waiting until timeout for monitored process [2022-02-20 16:49:32,758 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 16:49:32,759 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 16:49:32,777 INFO L263 TraceCheckSpWp]: Trace formula consists of 336 conjuncts, 39 conjunts are in the unsatisfiable core [2022-02-20 16:49:32,800 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:49:32,803 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:49:32,866 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:49:32,888 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:49:33,080 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:49:33,084 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 14 [2022-02-20 16:49:33,207 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:33,208 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 19 treesize of output 21 [2022-02-20 16:49:33,216 INFO L356 Elim1Store]: treesize reduction 4, result has 71.4 percent of original size [2022-02-20 16:49:33,216 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 18 treesize of output 18 [2022-02-20 16:49:33,332 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:49:33,401 INFO L356 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2022-02-20 16:49:33,401 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 32 treesize of output 15 [2022-02-20 16:49:33,465 INFO L290 TraceCheckUtils]: 0: Hoare triple {2846#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {2846#true} is VALID [2022-02-20 16:49:33,465 INFO L290 TraceCheckUtils]: 1: Hoare triple {2846#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1, main_#t~ret8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~ret11#1.base, main_#t~ret11#1.offset, main_#t~mem12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;havoc main_~mylist~0#1.base, main_~mylist~0#1.offset;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {2846#true} is VALID [2022-02-20 16:49:33,466 INFO L272 TraceCheckUtils]: 2: Hoare triple {2846#true} call main_#t~ret7#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {2846#true} is VALID [2022-02-20 16:49:33,466 INFO L290 TraceCheckUtils]: 3: Hoare triple {2846#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {2846#true} is VALID [2022-02-20 16:49:33,466 INFO L290 TraceCheckUtils]: 4: Hoare triple {2846#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {2846#true} is VALID [2022-02-20 16:49:33,466 INFO L290 TraceCheckUtils]: 5: Hoare triple {2846#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2846#true} is VALID [2022-02-20 16:49:33,466 INFO L290 TraceCheckUtils]: 6: Hoare triple {2846#true} assume true; {2846#true} is VALID [2022-02-20 16:49:33,466 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {2846#true} {2846#true} #68#return; {2846#true} is VALID [2022-02-20 16:49:33,466 INFO L290 TraceCheckUtils]: 8: Hoare triple {2846#true} havoc main_#t~ret7#1; {2846#true} is VALID [2022-02-20 16:49:33,466 INFO L272 TraceCheckUtils]: 9: Hoare triple {2846#true} call main_#t~ret8#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {2846#true} is VALID [2022-02-20 16:49:33,466 INFO L290 TraceCheckUtils]: 10: Hoare triple {2846#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {2881#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 16:49:33,467 INFO L290 TraceCheckUtils]: 11: Hoare triple {2881#(not (= insert_list_~l.base (_ bv0 32)))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {2881#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 16:49:33,467 INFO L290 TraceCheckUtils]: 12: Hoare triple {2881#(not (= insert_list_~l.base (_ bv0 32)))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2888#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 16:49:33,468 INFO L290 TraceCheckUtils]: 13: Hoare triple {2888#(not (= (_ bv0 32) ~head~0.base))} assume true; {2888#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 16:49:33,468 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {2888#(not (= (_ bv0 32) ~head~0.base))} {2846#true} #70#return; {2888#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 16:49:33,469 INFO L290 TraceCheckUtils]: 15: Hoare triple {2888#(not (= (_ bv0 32) ~head~0.base))} havoc main_#t~ret8#1; {2888#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 16:49:33,469 INFO L272 TraceCheckUtils]: 16: Hoare triple {2888#(not (= (_ bv0 32) ~head~0.base))} call main_#t~ret9#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {2901#(= |old(~head~0.base)| ~head~0.base)} is VALID [2022-02-20 16:49:33,471 INFO L290 TraceCheckUtils]: 17: Hoare triple {2901#(= |old(~head~0.base)| ~head~0.base)} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {2905#(and (= |old(~head~0.base)| ~head~0.base) (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 16:49:33,472 INFO L290 TraceCheckUtils]: 18: Hoare triple {2905#(and (= |old(~head~0.base)| ~head~0.base) (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (_ bv0 32) insert_list_~l.offset))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {2909#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 16:49:33,473 INFO L290 TraceCheckUtils]: 19: Hoare triple {2909#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2913#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 16:49:33,473 INFO L290 TraceCheckUtils]: 20: Hoare triple {2913#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} assume true; {2913#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 16:49:33,474 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2913#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} {2888#(not (= (_ bv0 32) ~head~0.base))} #72#return; {2920#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32))) (= ~head~0.offset (_ bv0 32)))} is VALID [2022-02-20 16:49:33,474 INFO L290 TraceCheckUtils]: 22: Hoare triple {2920#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32))) (= ~head~0.offset (_ bv0 32)))} havoc main_#t~ret9#1; {2920#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32))) (= ~head~0.offset (_ bv0 32)))} is VALID [2022-02-20 16:49:33,475 INFO L272 TraceCheckUtils]: 23: Hoare triple {2920#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32))) (= ~head~0.offset (_ bv0 32)))} call main_#t~ret10#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {2927#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 16:49:33,477 INFO L290 TraceCheckUtils]: 24: Hoare triple {2927#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {2931#(and (exists ((v_ArrVal_1445 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_ArrVal_1445) |#memory_$Pointer$.base|)) (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 16:49:33,480 INFO L290 TraceCheckUtils]: 25: Hoare triple {2931#(and (exists ((v_ArrVal_1445 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_ArrVal_1445) |#memory_$Pointer$.base|)) (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {2935#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|) (exists ((v_arrayElimArr_14 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_arrayElimArr_14) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_14 (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 16:49:33,481 INFO L290 TraceCheckUtils]: 26: Hoare triple {2935#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|) (exists ((v_arrayElimArr_14 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_arrayElimArr_14) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_14 (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))) (= (_ bv0 32) insert_list_~l.offset))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2939#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (exists ((v_arrayElimArr_14 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.base)| (select v_arrayElimArr_14 (bvadd (_ bv4 32) ~head~0.offset))) (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_14) |#memory_$Pointer$.base|))))} is VALID [2022-02-20 16:49:33,481 INFO L290 TraceCheckUtils]: 27: Hoare triple {2939#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (exists ((v_arrayElimArr_14 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.base)| (select v_arrayElimArr_14 (bvadd (_ bv4 32) ~head~0.offset))) (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_14) |#memory_$Pointer$.base|))))} assume true; {2939#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (exists ((v_arrayElimArr_14 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.base)| (select v_arrayElimArr_14 (bvadd (_ bv4 32) ~head~0.offset))) (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_14) |#memory_$Pointer$.base|))))} is VALID [2022-02-20 16:49:33,483 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2939#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (exists ((v_arrayElimArr_14 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.base)| (select v_arrayElimArr_14 (bvadd (_ bv4 32) ~head~0.offset))) (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_14) |#memory_$Pointer$.base|))))} {2920#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32))) (= ~head~0.offset (_ bv0 32)))} #74#return; {2946#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)))} is VALID [2022-02-20 16:49:33,485 INFO L290 TraceCheckUtils]: 29: Hoare triple {2946#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)))} havoc main_#t~ret10#1;assume { :begin_inline_search_list } true;search_list_#in~l#1.base, search_list_#in~l#1.offset, search_list_#in~k#1 := ~head~0.base, ~head~0.offset, 2bv32;havoc search_list_#res#1.base, search_list_#res#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset, search_list_#t~mem3#1, search_list_#t~short4#1, search_list_~l#1.base, search_list_~l#1.offset, search_list_~k#1;search_list_~l#1.base, search_list_~l#1.offset := search_list_#in~l#1.base, search_list_#in~l#1.offset;search_list_~k#1 := search_list_#in~k#1;search_list_~l#1.base, search_list_~l#1.offset := ~head~0.base, ~head~0.offset; {2950#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (not (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} is VALID [2022-02-20 16:49:33,485 INFO L290 TraceCheckUtils]: 30: Hoare triple {2950#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (not (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} search_list_#t~short4#1 := search_list_~l#1.base != 0bv32 || search_list_~l#1.offset != 0bv32; {2950#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (not (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} is VALID [2022-02-20 16:49:33,486 INFO L290 TraceCheckUtils]: 31: Hoare triple {2950#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (not (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~intINTTYPE4(search_list_~l#1.base, search_list_~l#1.offset, 4bv32);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {2950#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (not (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} is VALID [2022-02-20 16:49:33,487 INFO L290 TraceCheckUtils]: 32: Hoare triple {2950#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (not (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} assume !!search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1;call search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset := read~$Pointer$(search_list_~l#1.base, ~bvadd32(4bv32, search_list_~l#1.offset), 4bv32);search_list_~l#1.base, search_list_~l#1.offset := search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset; {2960#(and (exists ((|v_ULTIMATE.start_search_list_~l#1.base_29| (_ BitVec 32))) (and (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32))) (not (= |v_ULTIMATE.start_search_list_~l#1.base_29| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32)))))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} is VALID [2022-02-20 16:49:33,488 INFO L290 TraceCheckUtils]: 33: Hoare triple {2960#(and (exists ((|v_ULTIMATE.start_search_list_~l#1.base_29| (_ BitVec 32))) (and (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32))) (not (= |v_ULTIMATE.start_search_list_~l#1.base_29| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32)))))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} search_list_#t~short4#1 := search_list_~l#1.base != 0bv32 || search_list_~l#1.offset != 0bv32; {2960#(and (exists ((|v_ULTIMATE.start_search_list_~l#1.base_29| (_ BitVec 32))) (and (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32))) (not (= |v_ULTIMATE.start_search_list_~l#1.base_29| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32)))))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} is VALID [2022-02-20 16:49:33,489 INFO L290 TraceCheckUtils]: 34: Hoare triple {2960#(and (exists ((|v_ULTIMATE.start_search_list_~l#1.base_29| (_ BitVec 32))) (and (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32))) (not (= |v_ULTIMATE.start_search_list_~l#1.base_29| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32)))))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~intINTTYPE4(search_list_~l#1.base, search_list_~l#1.offset, 4bv32);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {2960#(and (exists ((|v_ULTIMATE.start_search_list_~l#1.base_29| (_ BitVec 32))) (and (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32))) (not (= |v_ULTIMATE.start_search_list_~l#1.base_29| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32)))))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} is VALID [2022-02-20 16:49:33,489 INFO L290 TraceCheckUtils]: 35: Hoare triple {2960#(and (exists ((|v_ULTIMATE.start_search_list_~l#1.base_29| (_ BitVec 32))) (and (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32))) (not (= |v_ULTIMATE.start_search_list_~l#1.base_29| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32)))))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} assume !!search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1;call search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset := read~$Pointer$(search_list_~l#1.base, ~bvadd32(4bv32, search_list_~l#1.offset), 4bv32);search_list_~l#1.base, search_list_~l#1.offset := search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset; {2970#(not (= |ULTIMATE.start_search_list_~l#1.base| (_ bv0 32)))} is VALID [2022-02-20 16:49:33,490 INFO L290 TraceCheckUtils]: 36: Hoare triple {2970#(not (= |ULTIMATE.start_search_list_~l#1.base| (_ bv0 32)))} search_list_#t~short4#1 := search_list_~l#1.base != 0bv32 || search_list_~l#1.offset != 0bv32; {2974#|ULTIMATE.start_search_list_#t~short4#1|} is VALID [2022-02-20 16:49:33,490 INFO L290 TraceCheckUtils]: 37: Hoare triple {2974#|ULTIMATE.start_search_list_#t~short4#1|} assume !search_list_#t~short4#1; {2847#false} is VALID [2022-02-20 16:49:33,490 INFO L290 TraceCheckUtils]: 38: Hoare triple {2847#false} assume !search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1; {2847#false} is VALID [2022-02-20 16:49:33,490 INFO L290 TraceCheckUtils]: 39: Hoare triple {2847#false} search_list_#res#1.base, search_list_#res#1.offset := search_list_~l#1.base, search_list_~l#1.offset; {2847#false} is VALID [2022-02-20 16:49:33,490 INFO L290 TraceCheckUtils]: 40: Hoare triple {2847#false} main_#t~ret11#1.base, main_#t~ret11#1.offset := search_list_#res#1.base, search_list_#res#1.offset;assume { :end_inline_search_list } true;main_~temp~0#1.base, main_~temp~0#1.offset := main_#t~ret11#1.base, main_#t~ret11#1.offset;havoc main_#t~ret11#1.base, main_#t~ret11#1.offset;call main_#t~mem12#1 := read~intINTTYPE4(main_~temp~0#1.base, main_~temp~0#1.offset, 4bv32);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 1bv32 == main_#t~mem12#1 then 1bv32 else 0bv32);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {2847#false} is VALID [2022-02-20 16:49:33,490 INFO L290 TraceCheckUtils]: 41: Hoare triple {2847#false} assume 0bv32 == __VERIFIER_assert_~cond#1; {2847#false} is VALID [2022-02-20 16:49:33,490 INFO L290 TraceCheckUtils]: 42: Hoare triple {2847#false} assume !false; {2847#false} is VALID [2022-02-20 16:49:33,491 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 19 proven. 19 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 16:49:33,491 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:49:33,822 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:49:33,823 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 1 new quantified variables, introduced 1 case distinctions, treesize of input 16 treesize of output 20 [2022-02-20 16:49:33,840 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_arrayElimArr_15 (Array (_ BitVec 32) (_ BitVec 32))) (v_~head~0.base_98 (_ BitVec 32))) (or (not (= c_~head~0.base (select v_arrayElimArr_15 (_ bv4 32)))) (not (= (bvneg (select |c_#valid| v_~head~0.base_98)) (_ bv0 1))) (not (= (_ bv0 32) (select (select (store |c_#memory_$Pointer$.base| v_~head~0.base_98 v_arrayElimArr_15) c_~head~0.base) (bvadd c_~head~0.offset (_ bv4 32))))))) is different from false [2022-02-20 16:49:33,842 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:49:33,842 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [840599730] [2022-02-20 16:49:33,842 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [840599730] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:49:33,842 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleCvc4 [773697749] [2022-02-20 16:49:33,842 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 16:49:33,842 INFO L173 SolverBuilder]: Constructing external solver with command: cvc4 --incremental --print-success --lang smt [2022-02-20 16:49:33,842 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 [2022-02-20 16:49:33,852 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (exit command is (exit), workingDir is null) [2022-02-20 16:49:33,871 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (12)] Waiting until timeout for monitored process [2022-02-20 16:49:34,227 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 16:49:34,227 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 16:49:34,245 INFO L263 TraceCheckSpWp]: Trace formula consists of 336 conjuncts, 39 conjunts are in the unsatisfiable core [2022-02-20 16:49:34,265 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:49:34,268 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:49:34,321 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:49:34,348 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:49:34,468 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 14 [2022-02-20 16:49:34,472 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:49:34,551 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:49:34,552 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 19 treesize of output 21 [2022-02-20 16:49:34,558 INFO L356 Elim1Store]: treesize reduction 4, result has 71.4 percent of original size [2022-02-20 16:49:34,558 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 18 treesize of output 18 [2022-02-20 16:49:34,625 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:49:34,676 INFO L356 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2022-02-20 16:49:34,676 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 32 treesize of output 15 [2022-02-20 16:49:34,717 INFO L290 TraceCheckUtils]: 0: Hoare triple {2846#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {2846#true} is VALID [2022-02-20 16:49:34,717 INFO L290 TraceCheckUtils]: 1: Hoare triple {2846#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1, main_#t~ret8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~ret11#1.base, main_#t~ret11#1.offset, main_#t~mem12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;havoc main_~mylist~0#1.base, main_~mylist~0#1.offset;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {2846#true} is VALID [2022-02-20 16:49:34,717 INFO L272 TraceCheckUtils]: 2: Hoare triple {2846#true} call main_#t~ret7#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {2846#true} is VALID [2022-02-20 16:49:34,717 INFO L290 TraceCheckUtils]: 3: Hoare triple {2846#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {2846#true} is VALID [2022-02-20 16:49:34,717 INFO L290 TraceCheckUtils]: 4: Hoare triple {2846#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32;call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {2846#true} is VALID [2022-02-20 16:49:34,717 INFO L290 TraceCheckUtils]: 5: Hoare triple {2846#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2846#true} is VALID [2022-02-20 16:49:34,717 INFO L290 TraceCheckUtils]: 6: Hoare triple {2846#true} assume true; {2846#true} is VALID [2022-02-20 16:49:34,718 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {2846#true} {2846#true} #68#return; {2846#true} is VALID [2022-02-20 16:49:34,718 INFO L290 TraceCheckUtils]: 8: Hoare triple {2846#true} havoc main_#t~ret7#1; {2846#true} is VALID [2022-02-20 16:49:34,718 INFO L272 TraceCheckUtils]: 9: Hoare triple {2846#true} call main_#t~ret8#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {2846#true} is VALID [2022-02-20 16:49:34,718 INFO L290 TraceCheckUtils]: 10: Hoare triple {2846#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {2881#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 16:49:34,719 INFO L290 TraceCheckUtils]: 11: Hoare triple {2881#(not (= insert_list_~l.base (_ bv0 32)))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {2881#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 16:49:34,719 INFO L290 TraceCheckUtils]: 12: Hoare triple {2881#(not (= insert_list_~l.base (_ bv0 32)))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2888#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 16:49:34,725 INFO L290 TraceCheckUtils]: 13: Hoare triple {2888#(not (= (_ bv0 32) ~head~0.base))} assume true; {2888#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 16:49:34,726 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {2888#(not (= (_ bv0 32) ~head~0.base))} {2846#true} #70#return; {2888#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 16:49:34,727 INFO L290 TraceCheckUtils]: 15: Hoare triple {2888#(not (= (_ bv0 32) ~head~0.base))} havoc main_#t~ret8#1; {2888#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 16:49:34,727 INFO L272 TraceCheckUtils]: 16: Hoare triple {2888#(not (= (_ bv0 32) ~head~0.base))} call main_#t~ret9#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {2901#(= |old(~head~0.base)| ~head~0.base)} is VALID [2022-02-20 16:49:34,729 INFO L290 TraceCheckUtils]: 17: Hoare triple {2901#(= |old(~head~0.base)| ~head~0.base)} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {2905#(and (= |old(~head~0.base)| ~head~0.base) (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 16:49:34,730 INFO L290 TraceCheckUtils]: 18: Hoare triple {2905#(and (= |old(~head~0.base)| ~head~0.base) (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (_ bv0 32) insert_list_~l.offset))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {2909#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 16:49:34,730 INFO L290 TraceCheckUtils]: 19: Hoare triple {2909#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2913#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 16:49:34,731 INFO L290 TraceCheckUtils]: 20: Hoare triple {2913#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} assume true; {2913#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 16:49:34,732 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2913#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} {2888#(not (= (_ bv0 32) ~head~0.base))} #72#return; {2920#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32))) (= ~head~0.offset (_ bv0 32)))} is VALID [2022-02-20 16:49:34,732 INFO L290 TraceCheckUtils]: 22: Hoare triple {2920#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32))) (= ~head~0.offset (_ bv0 32)))} havoc main_#t~ret9#1; {2920#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32))) (= ~head~0.offset (_ bv0 32)))} is VALID [2022-02-20 16:49:34,733 INFO L272 TraceCheckUtils]: 23: Hoare triple {2920#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32))) (= ~head~0.offset (_ bv0 32)))} call main_#t~ret10#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {2927#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 16:49:34,736 INFO L290 TraceCheckUtils]: 24: Hoare triple {2927#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset;call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); {2931#(and (exists ((v_ArrVal_1445 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_ArrVal_1445) |#memory_$Pointer$.base|)) (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 16:49:34,740 INFO L290 TraceCheckUtils]: 25: Hoare triple {2931#(and (exists ((v_ArrVal_1445 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_ArrVal_1445) |#memory_$Pointer$.base|)) (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32);call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); {2935#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|) (exists ((v_arrayElimArr_14 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_arrayElimArr_14) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_14 (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 16:49:34,741 INFO L290 TraceCheckUtils]: 26: Hoare triple {2935#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|) (exists ((v_arrayElimArr_14 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_arrayElimArr_14) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_14 (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))) (= (_ bv0 32) insert_list_~l.offset))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2939#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (exists ((v_arrayElimArr_14 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.base)| (select v_arrayElimArr_14 (bvadd (_ bv4 32) ~head~0.offset))) (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_14) |#memory_$Pointer$.base|))))} is VALID [2022-02-20 16:49:34,741 INFO L290 TraceCheckUtils]: 27: Hoare triple {2939#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (exists ((v_arrayElimArr_14 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.base)| (select v_arrayElimArr_14 (bvadd (_ bv4 32) ~head~0.offset))) (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_14) |#memory_$Pointer$.base|))))} assume true; {2939#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (exists ((v_arrayElimArr_14 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.base)| (select v_arrayElimArr_14 (bvadd (_ bv4 32) ~head~0.offset))) (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_14) |#memory_$Pointer$.base|))))} is VALID [2022-02-20 16:49:34,743 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2939#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (exists ((v_arrayElimArr_14 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.base)| (select v_arrayElimArr_14 (bvadd (_ bv4 32) ~head~0.offset))) (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_14) |#memory_$Pointer$.base|))))} {2920#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32))) (= ~head~0.offset (_ bv0 32)))} #74#return; {2946#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)))} is VALID [2022-02-20 16:49:34,745 INFO L290 TraceCheckUtils]: 29: Hoare triple {2946#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)))} havoc main_#t~ret10#1;assume { :begin_inline_search_list } true;search_list_#in~l#1.base, search_list_#in~l#1.offset, search_list_#in~k#1 := ~head~0.base, ~head~0.offset, 2bv32;havoc search_list_#res#1.base, search_list_#res#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset, search_list_#t~mem3#1, search_list_#t~short4#1, search_list_~l#1.base, search_list_~l#1.offset, search_list_~k#1;search_list_~l#1.base, search_list_~l#1.offset := search_list_#in~l#1.base, search_list_#in~l#1.offset;search_list_~k#1 := search_list_#in~k#1;search_list_~l#1.base, search_list_~l#1.offset := ~head~0.base, ~head~0.offset; {2950#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (not (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} is VALID [2022-02-20 16:49:34,745 INFO L290 TraceCheckUtils]: 30: Hoare triple {2950#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (not (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} search_list_#t~short4#1 := search_list_~l#1.base != 0bv32 || search_list_~l#1.offset != 0bv32; {2950#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (not (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} is VALID [2022-02-20 16:49:34,746 INFO L290 TraceCheckUtils]: 31: Hoare triple {2950#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (not (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~intINTTYPE4(search_list_~l#1.base, search_list_~l#1.offset, 4bv32);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {2950#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (not (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} is VALID [2022-02-20 16:49:34,747 INFO L290 TraceCheckUtils]: 32: Hoare triple {2950#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (not (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_search_list_~l#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_search_list_~l#1.offset|))) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} assume !!search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1;call search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset := read~$Pointer$(search_list_~l#1.base, ~bvadd32(4bv32, search_list_~l#1.offset), 4bv32);search_list_~l#1.base, search_list_~l#1.offset := search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset; {2960#(and (exists ((|v_ULTIMATE.start_search_list_~l#1.base_29| (_ BitVec 32))) (and (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32))) (not (= |v_ULTIMATE.start_search_list_~l#1.base_29| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32)))))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} is VALID [2022-02-20 16:49:34,749 INFO L290 TraceCheckUtils]: 33: Hoare triple {2960#(and (exists ((|v_ULTIMATE.start_search_list_~l#1.base_29| (_ BitVec 32))) (and (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32))) (not (= |v_ULTIMATE.start_search_list_~l#1.base_29| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32)))))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} search_list_#t~short4#1 := search_list_~l#1.base != 0bv32 || search_list_~l#1.offset != 0bv32; {2960#(and (exists ((|v_ULTIMATE.start_search_list_~l#1.base_29| (_ BitVec 32))) (and (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32))) (not (= |v_ULTIMATE.start_search_list_~l#1.base_29| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32)))))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} is VALID [2022-02-20 16:49:34,750 INFO L290 TraceCheckUtils]: 34: Hoare triple {2960#(and (exists ((|v_ULTIMATE.start_search_list_~l#1.base_29| (_ BitVec 32))) (and (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32))) (not (= |v_ULTIMATE.start_search_list_~l#1.base_29| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32)))))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} assume search_list_#t~short4#1;call search_list_#t~mem3#1 := read~intINTTYPE4(search_list_~l#1.base, search_list_~l#1.offset, 4bv32);search_list_#t~short4#1 := search_list_#t~mem3#1 != search_list_~k#1; {2960#(and (exists ((|v_ULTIMATE.start_search_list_~l#1.base_29| (_ BitVec 32))) (and (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32))) (not (= |v_ULTIMATE.start_search_list_~l#1.base_29| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32)))))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} is VALID [2022-02-20 16:49:34,751 INFO L290 TraceCheckUtils]: 35: Hoare triple {2960#(and (exists ((|v_ULTIMATE.start_search_list_~l#1.base_29| (_ BitVec 32))) (and (= |ULTIMATE.start_search_list_~l#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32))) (not (= |v_ULTIMATE.start_search_list_~l#1.base_29| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_search_list_~l#1.base_29|) (_ bv4 32)))))) (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|))} assume !!search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1;call search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset := read~$Pointer$(search_list_~l#1.base, ~bvadd32(4bv32, search_list_~l#1.offset), 4bv32);search_list_~l#1.base, search_list_~l#1.offset := search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset;havoc search_list_#t~mem5#1.base, search_list_#t~mem5#1.offset; {2970#(not (= |ULTIMATE.start_search_list_~l#1.base| (_ bv0 32)))} is VALID [2022-02-20 16:49:34,751 INFO L290 TraceCheckUtils]: 36: Hoare triple {2970#(not (= |ULTIMATE.start_search_list_~l#1.base| (_ bv0 32)))} search_list_#t~short4#1 := search_list_~l#1.base != 0bv32 || search_list_~l#1.offset != 0bv32; {2974#|ULTIMATE.start_search_list_#t~short4#1|} is VALID [2022-02-20 16:49:34,752 INFO L290 TraceCheckUtils]: 37: Hoare triple {2974#|ULTIMATE.start_search_list_#t~short4#1|} assume !search_list_#t~short4#1; {2974#|ULTIMATE.start_search_list_#t~short4#1|} is VALID [2022-02-20 16:49:34,752 INFO L290 TraceCheckUtils]: 38: Hoare triple {2974#|ULTIMATE.start_search_list_#t~short4#1|} assume !search_list_#t~short4#1;havoc search_list_#t~mem3#1;havoc search_list_#t~short4#1; {2847#false} is VALID [2022-02-20 16:49:34,752 INFO L290 TraceCheckUtils]: 39: Hoare triple {2847#false} search_list_#res#1.base, search_list_#res#1.offset := search_list_~l#1.base, search_list_~l#1.offset; {2847#false} is VALID [2022-02-20 16:49:34,752 INFO L290 TraceCheckUtils]: 40: Hoare triple {2847#false} main_#t~ret11#1.base, main_#t~ret11#1.offset := search_list_#res#1.base, search_list_#res#1.offset;assume { :end_inline_search_list } true;main_~temp~0#1.base, main_~temp~0#1.offset := main_#t~ret11#1.base, main_#t~ret11#1.offset;havoc main_#t~ret11#1.base, main_#t~ret11#1.offset;call main_#t~mem12#1 := read~intINTTYPE4(main_~temp~0#1.base, main_~temp~0#1.offset, 4bv32);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 1bv32 == main_#t~mem12#1 then 1bv32 else 0bv32);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {2847#false} is VALID [2022-02-20 16:49:34,752 INFO L290 TraceCheckUtils]: 41: Hoare triple {2847#false} assume 0bv32 == __VERIFIER_assert_~cond#1; {2847#false} is VALID [2022-02-20 16:49:34,752 INFO L290 TraceCheckUtils]: 42: Hoare triple {2847#false} assume !false; {2847#false} is VALID [2022-02-20 16:49:34,753 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 17 proven. 21 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 16:49:34,753 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:49:35,002 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:49:35,003 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 1 new quantified variables, introduced 1 case distinctions, treesize of input 16 treesize of output 20 [2022-02-20 16:49:35,021 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_arrayElimArr_17 (Array (_ BitVec 32) (_ BitVec 32))) (v_~head~0.base_106 (_ BitVec 32))) (or (not (= (select (select (store |c_#memory_$Pointer$.base| v_~head~0.base_106 v_arrayElimArr_17) c_~head~0.base) (bvadd c_~head~0.offset (_ bv4 32))) (_ bv0 32))) (not (= (_ bv0 1) (bvneg (select |c_#valid| v_~head~0.base_106)))) (not (= c_~head~0.base (select v_arrayElimArr_17 (_ bv4 32)))))) is different from false [2022-02-20 16:49:35,022 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleCvc4 [773697749] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:49:35,022 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 16:49:35,022 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 18] total 18 [2022-02-20 16:49:35,022 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [944437461] [2022-02-20 16:49:35,022 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 16:49:35,023 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 2.0555555555555554) internal successors, (37), 15 states have internal predecessors, (37), 3 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 43 [2022-02-20 16:49:35,023 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:49:35,023 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 18 states, 18 states have (on average 2.0555555555555554) internal successors, (37), 15 states have internal predecessors, (37), 3 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 16:49:35,079 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:49:35,079 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-02-20 16:49:35,080 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:49:35,080 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-02-20 16:49:35,080 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=377, Unknown=2, NotChecked=78, Total=506 [2022-02-20 16:49:35,080 INFO L87 Difference]: Start difference. First operand 37 states and 42 transitions. Second operand has 18 states, 18 states have (on average 2.0555555555555554) internal successors, (37), 15 states have internal predecessors, (37), 3 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 16:49:36,232 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:49:36,233 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2022-02-20 16:49:36,233 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-02-20 16:49:36,233 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 2.0555555555555554) internal successors, (37), 15 states have internal predecessors, (37), 3 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 43 [2022-02-20 16:49:36,233 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:49:36,233 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 2.0555555555555554) internal successors, (37), 15 states have internal predecessors, (37), 3 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 16:49:36,234 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 54 transitions. [2022-02-20 16:49:36,234 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 2.0555555555555554) internal successors, (37), 15 states have internal predecessors, (37), 3 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 16:49:36,235 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 54 transitions. [2022-02-20 16:49:36,235 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 54 transitions. [2022-02-20 16:49:36,307 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:49:36,308 INFO L225 Difference]: With dead ends: 52 [2022-02-20 16:49:36,308 INFO L226 Difference]: Without dead ends: 44 [2022-02-20 16:49:36,308 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 124 GetRequests, 90 SyntacticMatches, 3 SemanticMatches, 31 ConstructedPredicates, 2 IntricatePredicates, 0 DeprecatedPredicates, 103 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=109, Invalid=827, Unknown=2, NotChecked=118, Total=1056 [2022-02-20 16:49:36,308 INFO L933 BasicCegarLoop]: 21 mSDtfsCounter, 10 mSDsluCounter, 223 mSDsCounter, 0 mSdLazyCounter, 128 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 244 SdHoareTripleChecker+Invalid, 228 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 128 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 92 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 16:49:36,309 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 244 Invalid, 228 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 128 Invalid, 0 Unknown, 92 Unchecked, 0.3s Time] [2022-02-20 16:49:36,309 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-02-20 16:49:36,312 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-02-20 16:49:36,312 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:49:36,312 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 37 states, 30 states have (on average 1.1) internal successors, (33), 30 states have internal predecessors, (33), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 16:49:36,313 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 37 states, 30 states have (on average 1.1) internal successors, (33), 30 states have internal predecessors, (33), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 16:49:36,313 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 37 states, 30 states have (on average 1.1) internal successors, (33), 30 states have internal predecessors, (33), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 16:49:36,314 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:49:36,314 INFO L93 Difference]: Finished difference Result 44 states and 48 transitions. [2022-02-20 16:49:36,314 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 48 transitions. [2022-02-20 16:49:36,314 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:49:36,314 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:49:36,314 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 30 states have (on average 1.1) internal successors, (33), 30 states have internal predecessors, (33), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 44 states. [2022-02-20 16:49:36,319 INFO L87 Difference]: Start difference. First operand has 37 states, 30 states have (on average 1.1) internal successors, (33), 30 states have internal predecessors, (33), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 44 states. [2022-02-20 16:49:36,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:49:36,328 INFO L93 Difference]: Finished difference Result 44 states and 48 transitions. [2022-02-20 16:49:36,328 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 48 transitions. [2022-02-20 16:49:36,329 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:49:36,329 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:49:36,329 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:49:36,329 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:49:36,329 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 30 states have (on average 1.1) internal successors, (33), 30 states have internal predecessors, (33), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 16:49:36,330 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 41 transitions. [2022-02-20 16:49:36,330 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 41 transitions. Word has length 43 [2022-02-20 16:49:36,330 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:49:36,343 INFO L470 AbstractCegarLoop]: Abstraction has 37 states and 41 transitions. [2022-02-20 16:49:36,344 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 18 states have (on average 2.0555555555555554) internal successors, (37), 15 states have internal predecessors, (37), 3 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 16:49:36,344 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 41 transitions. [2022-02-20 16:49:36,344 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-02-20 16:49:36,345 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:49:36,345 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:49:36,359 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (11)] Ended with exit code 0 [2022-02-20 16:49:36,564 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (12)] Forceful destruction successful, exit code 0 [2022-02-20 16:49:36,757 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3,12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt [2022-02-20 16:49:36,758 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:49:36,758 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:49:36,758 INFO L85 PathProgramCache]: Analyzing trace with hash 1384296971, now seen corresponding path program 3 times [2022-02-20 16:49:36,758 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:49:36,758 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [606545601] [2022-02-20 16:49:36,758 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-02-20 16:49:36,758 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:49:36,759 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:49:36,760 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:49:36,761 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (13)] Waiting until timeout for monitored process [2022-02-20 16:49:37,449 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-02-20 16:49:37,449 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-02-20 16:49:37,449 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-02-20 16:49:37,713 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 16:49:37,794 INFO L138 FreeRefinementEngine]: Strategy WOLF found a feasible trace [2022-02-20 16:49:37,795 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-02-20 16:49:37,795 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-02-20 16:49:37,812 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (13)] Ended with exit code 0 [2022-02-20 16:49:37,996 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:49:37,999 INFO L732 BasicCegarLoop]: Path program histogram: [3, 2, 1, 1, 1, 1] [2022-02-20 16:49:38,001 INFO L180 ceAbstractionStarter]: Computing trace abstraction results [2022-02-20 16:49:38,050 FATAL L489 DefaultTranslator]: Callstack has procedure call flag but succeeding procedure is empty at [CALL] call #t~ret7 := insert_list(~mylist~0, 2bv32); [2022-02-20 16:49:38,065 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.AssertionError: callstack broken after backtranslation by InlinerBacktranslator at de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator.translateProgramExecution(InlinerBacktranslator.java:230) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:216) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:225) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:225) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:206) at de.uni_freiburg.informatik.ultimate.core.lib.results.CounterExampleResult.getProgramExecutionAsString(CounterExampleResult.java:155) at de.uni_freiburg.informatik.ultimate.core.lib.results.CounterExampleResult.getLongDescription(CounterExampleResult.java:134) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ResultService.reportResult(ResultService.java:86) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarLoopResultReporter.reportResult(CegarLoopResultReporter.java:141) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.reportLocationResults(TraceAbstractionStarter.java:607) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:182) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:156) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:320) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) [2022-02-20 16:49:38,068 INFO L158 Benchmark]: Toolchain (without parser) took 31818.19ms. Allocated memory was 62.9MB in the beginning and 113.2MB in the end (delta: 50.3MB). Free memory was 41.5MB in the beginning and 70.5MB in the end (delta: -28.9MB). Peak memory consumption was 20.9MB. Max. memory is 16.1GB. [2022-02-20 16:49:38,068 INFO L158 Benchmark]: CDTParser took 0.15ms. Allocated memory is still 62.9MB. Free memory was 44.4MB in the beginning and 44.3MB in the end (delta: 50.9kB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 16:49:38,068 INFO L158 Benchmark]: CACSL2BoogieTranslator took 414.63ms. Allocated memory is still 62.9MB. Free memory was 41.3MB in the beginning and 32.2MB in the end (delta: 9.1MB). Peak memory consumption was 10.5MB. Max. memory is 16.1GB. [2022-02-20 16:49:38,068 INFO L158 Benchmark]: Boogie Procedure Inliner took 45.60ms. Allocated memory is still 62.9MB. Free memory was 32.2MB in the beginning and 30.2MB in the end (delta: 2.0MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 16:49:38,068 INFO L158 Benchmark]: Boogie Preprocessor took 55.11ms. Allocated memory is still 62.9MB. Free memory was 30.2MB in the beginning and 28.1MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 16:49:38,069 INFO L158 Benchmark]: RCFGBuilder took 402.16ms. Allocated memory was 62.9MB in the beginning and 77.6MB in the end (delta: 14.7MB). Free memory was 27.9MB in the beginning and 48.0MB in the end (delta: -20.1MB). Peak memory consumption was 5.3MB. Max. memory is 16.1GB. [2022-02-20 16:49:38,070 INFO L158 Benchmark]: TraceAbstraction took 30895.94ms. Allocated memory was 77.6MB in the beginning and 113.2MB in the end (delta: 35.7MB). Free memory was 47.3MB in the beginning and 70.5MB in the end (delta: -23.2MB). Peak memory consumption was 12.5MB. Max. memory is 16.1GB. [2022-02-20 16:49:38,071 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.15ms. Allocated memory is still 62.9MB. Free memory was 44.4MB in the beginning and 44.3MB in the end (delta: 50.9kB). There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 414.63ms. Allocated memory is still 62.9MB. Free memory was 41.3MB in the beginning and 32.2MB in the end (delta: 9.1MB). Peak memory consumption was 10.5MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 45.60ms. Allocated memory is still 62.9MB. Free memory was 32.2MB in the beginning and 30.2MB in the end (delta: 2.0MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 55.11ms. Allocated memory is still 62.9MB. Free memory was 30.2MB in the beginning and 28.1MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * RCFGBuilder took 402.16ms. Allocated memory was 62.9MB in the beginning and 77.6MB in the end (delta: 14.7MB). Free memory was 27.9MB in the beginning and 48.0MB in the end (delta: -20.1MB). Peak memory consumption was 5.3MB. Max. memory is 16.1GB. * TraceAbstraction took 30895.94ms. Allocated memory was 77.6MB in the beginning and 113.2MB in the end (delta: 35.7MB). Free memory was 47.3MB in the beginning and 70.5MB in the end (delta: -23.2MB). Peak memory consumption was 12.5MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - ExceptionOrErrorResult: AssertionError: callstack broken after backtranslation by InlinerBacktranslator de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: callstack broken after backtranslation by InlinerBacktranslator: de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator.translateProgramExecution(InlinerBacktranslator.java:230) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2022-02-20 16:49:38,123 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Writing output log to file Ultimate.log Result: ERROR: ExceptionOrErrorResult: AssertionError: callstack broken after backtranslation by InlinerBacktranslator